November 5, 2025
Release Notes (2025-11-05)
TL;DR: Introduced Redis-based rate limiting and caching, strengthened address management (new address drawer, delete confirmation, clearer Primary badges, removed “set default” API), enhanced billing payment method management (manage/delete with modal modes), unified loading indicators with an animated image, and optimized settings session retrieval and cache duration.
New Features
- Address management enhancements
- Added Address Book Drawer in
ShipFormfor quick address selection. - Added delete confirmation dialog in the address list to prevent accidental removals.
- Refined Primary badge to distinguish “Primary Origin,” “Primary Destination,” and “Both.”
- Added Address Book Drawer in
- Billing & payment methods
- Manage and delete payment methods in Billing settings with a confirmation step.
- Introduced add/manage modal modes, show details, and allow deletion directly in the modal; improved deletion error handling.
- Rate limiting & caching (Redis)
- Added rate limiting for
carriers,payment/create-intent,ship(BOL/booking/rates),track/orders,tracking,user/addresses, anduser/profile. - Implemented caching for addresses, tracking data, carrier credentials, rates, and session to reduce DB load.
- Added Redis debug route/monitor and clearer “rate limit exceeded” responses.
- Added rate limiting for
Experience & Usability
- Unified loading experience
- Replaced assorted spinners/text loaders with a consistent animated GIF (
public/loading-new.gif) across Booking/Results/Ship pages, Billing, AddressForm, DashboardShell, OrderDetailClient, and TrackClient.
- Replaced assorted spinners/text loaders with a consistent animated GIF (
- Address list UI polish
- Iterated on borders/padding, backgrounds, badge position and style, typography, and menu item borders/logic for clearer hierarchy and readability.
- Layout details
- Increased certain dialog widths for better content display.
- Tuned
AddressBookDrawerspacing for readability. - Removed the “Both Origin & Destination” option to simplify choices.
Session & Performance
- Settings session retrieval
AccountPage/AddressesPagenow fetch sessions asynchronously and load data based on session; unauthenticated users are redirected.
- Session cache
- Session cache duration set to 30 minutes for a balance of performance and freshness.
APIs & Backend
- User & address APIs
- Added/updated
user/addresses(incl. by id),user/profile, anduser/change-password. - Removed
user/addresses/[id]/set-defaultto simplify primary address management.
- Added/updated
- Rate limiting & caching infra
- Added cache modules (addresses/tracking/rates/carrier/session), rate-limit middleware, and Redis monitor.
- Documentation
- Added Redis integration plan, optimization guide, quickstart, and implementation summary.
- Added Redis debug endpoint and guidance for troubleshooting/ops.
Bug Fixes
- Address classification mapping
- Enforced DB constraint to accept only
Commercial,Residential, andUnknown; mapped all business-related types toCommercial. - Added
scripts/check-constraint.tsfor constraint verification.
- Enforced DB constraint to accept only