Changelog¶
All notable changes to the Zora Tech Logistics Platform will be documented here.
Format¶
Changes are grouped by type:
- Added: New features
- Changed: Changes to existing functionality
- Deprecated: Features to be removed in future releases
- Removed: Removed features
- Fixed: Bug fixes
- Security: Security improvements
[1.5.0] - 2026-03-18¶
Added¶
- Storage Charges: Full storage billing with monthly, weekly, and split monthly frequencies; supports per-pallet, per-case, per-square-foot, and per-container dimensions with tiered rate cards
- Sales Rep Field (CRM): Assign a sales representative to each customer record; sales rep appears in customer details, creation/edit forms, and the sales report template with subtotals by rep
- Sales Report: New report template with per-customer revenue, sales rep subtotals, and currency formatting
- Dynamic Storage Classes: User-defined storage classifications replacing hardcoded values; manage custom storage types from the Settings interface
- Per-Warehouse Timezone: Configure timezone per warehouse for accurate report generation and date/time display; timezone affects all date-sensitive operations within that warehouse
- Document Extract for Bulk Upload: Intelligent document parsing integration that extracts structured data from uploaded files (PDFs, images) to pre-populate bulk upload fields
- Invoice Enhancements: Bill To address support for third-party billing, document attachments on invoices, and improved PDF rendering with multi-page overflow support
- Picklist Cancellation: Cancel partially-picked pick lists with automatic inventory reversal; allocated quantities are released back to available stock
- Equipment Number in Inventory: Inventory list now shows Equipment # column linked to the originating receiving order for freight traceability
- Manual Location Search: Search locations by code, aisle, or zone in the Smart Location Selector during putaway; complements auto-suggest and barcode scan modes
- Manual LPN Barcode Lookup: Scan or search for specific LPN barcodes during the putaway selector step
- Lot-Level Allocation Cards: Manual allocation modal now displays lot-level inventory cards showing lot number, expiration date, and available quantity per lot
- Lot Number in Order Creation: Specify lot numbers during order creation to filter allocation to specific lots
- Reusable Page Header: Modernized page header component used across all list pages with consistent layout and actions
Changed¶
- Precision Craft Design System: Modernized UI theme with updated color tokens, improved table horizontal scrolling, and pinned select/action columns for better data table usability
- Inventory CSV Export: Export now includes all rows across all pages instead of only the current page view
- Report Improvements: Currency formatting in financial reports, hidden internal columns from report output, stricter number parsing, and timezone-aware date filtering
- Table Column Improvements: Orders page now shows Qty & Total column; select and action columns are pinned during horizontal scroll
Fixed¶
- Location "In Use" Status: Fixed false "In Use" indicators by returning actual inventory count from the location search endpoint
- Multiple Customer Data Filters: Inventory queries now correctly support multiple customer data filters for users with access to several customer accounts
- Lot Number Receiving: Prevented lot number overwrite when receiving the same product with different lots on a single receiving order
- Allocation Fixes: Resolved manual allocation failure for multi-lot inventory; added non-null assertion for serial numbers in allocation closure
- Picking Accuracy: Prioritize user-scanned lot number over allocated inventory ID; pass lot number through the full pick flow to resolve correct inventory record
- Negative Allocation Prevention: Fixed double-decrement bug that could cause negative allocated quantities
- Dashboard Accuracy: Replaced hardcoded inventory value with real calculation; fixed order status values used in dashboard queries
[1.4.0] - 2026-02-10¶
Added¶
- Load Planning Module: Full load planning workflow for organizing outbound shipments with LPN selection, real-time weight and cube capacity tracking, pick list generation, staging workflows, and barcode verification during loading
- Partial LPN Selection: Select a portion of an LPN's contents for load plans, including per-product quantity selection for multi-SKU LPNs with accurate weight and volume calculations
- FEFO Allocation Strategy: First-Expired-First-Out inventory allocation configurable at the warehouse level, with per-allocation override support and expired inventory warnings
- Lot Number Receiving Workflow: Required lot number entry for lot-tracked products during receiving, with support for multiple lots per product, case-insensitive matching, and optional expiration dates
- Billing Provider Customer Import: Import customers directly from connected billing providers (QuickBooks Desktop) with duplicate detection, selective import, and import history tracking
- Company Branding: Upload custom company logo and edit company information displayed on invoices, packing slips, pick lists, and shipping manifests
- Equipment Number Tracking: Record trailer, container, or railcar numbers during receiving for freight reconciliation
- Copy Role Feature: Duplicate existing roles as templates for creating new custom roles with similar permissions
- Picker Attribution: Track which warehouse worker performed each pick for accountability and performance reporting
- Multi-LPN Pick Support: Display all LPNs from multi-LPN picks in the shipment loading interface with per-LPN quantity details
- LPN Warning Badges: Visual HAZMAT (orange), FRAGILE (purple), and EXPIRING (red) indicators on LPN cards
Changed¶
- Allocation Strategy Configuration: Warehouse-level allocation strategy setting (FIFO, FEFO, LIFO) with per-order override capability
- Lot Tracking Enhancement: Lot numbers now matched case-insensitively; support for receiving multiple lots of the same product on a single receiving order
- System Role Protection: Standard system roles are now read-only and cannot be edited or deleted
Fixed¶
- Serial Number Lifecycle: Corrected serial status tracking across receiving, picking, and shipping workflows
- Barcode Print Templates: Resolved print range template issues
[1.3.0] - 2025-01-22¶
Added¶
- Operator-Based Filtering: Advanced filtering with operators like "is", "is not", "is any of", and "is none of" across major pages
- Shipments page with URL persistence for shareable filter links
- Orders page for status and priority filtering
- Inventory page with enhanced ZoraFilter integration
- Pick Lists page for operator-based status filtering
- Receiving page with customer filter support
- URL Filter Persistence: Filter states are now saved in the URL, enabling shareable filtered views
Changed¶
- ZoraFilter Component: Enhanced with operator select support for advanced filtering patterns
- Filter UI: Improved filter dropdowns with operator selection capabilities
Fixed¶
- Aurora Serverless v2: Added wake-up retry logic and fail deployments on migration errors
- Record Compatibility: Fixed ShipmentFilterState index signature for TypeScript compatibility
[1.2.0] - 2025-01-20¶
Added¶
- Fine-Grained Permission System: PermissionGuard with module-action authorization
- Data Filter Access Control: Row-level security with customer/warehouse scoping
- NoAccess Shared Component: Consistent 403 forbidden UI across all pages
- Serial Number Bulk Upload: Import serial-tracked products via CSV with validation
- Shared Pagination Component: Consistent pagination UI across all list pages
- React Query Optimization: Granular cache invalidation with exact matching
- useReferenceData Hook: Centralized reference data management with warehouse context
- useEntityDetails Hook: Generic entity details fetching pattern
- Permission Seeding Endpoint: POST /permissions/seed for base permission provisioning
Changed¶
- ZoraTable Height Management: Simplified CSS-first approach, removed virtual scrolling complexity
- Table Density: Reduced padding (px-2 py-1.5) for more compact display
- Authorization Pattern: Migrated from simple guards to PermissionGuard + RequirePermission
- Cache Strategy: Implemented network-aware caching for mobile/PWA performance
- Error Boundaries: Added widget-level error isolation for dashboard components
- Logging Standards: Enforced StructuredLogger usage, zero logs for health checks
Fixed¶
- React Hook Ordering: Placed forbidden checks after hooks to prevent hook ordering errors
- Cache Invalidation: Fixed over-invalidation by using exact queryKey matching
- Mobile Card Rendering: Improved automatic card layout for complex table data
- Authentication Flow: Enhanced JWT token handling with proper refresh logic
Security¶
- Access Control Enhancement: Implemented data filters for row-level security
- Permission Validation: Added backend enforcement with ForbiddenException for denied access
- API Security: Comprehensive permission checks on all protected endpoints
[1.1.0] - 2025-01-17¶
Added¶
- Serial Number Tracking: Full lifecycle management for serial-tracked products
- Lot Number Tracking: Batch management with expiration date support
- Camera Barcode Scanning: ZXing integration for mobile PWA
- HTTPS Development Mode: Full camera API access in development
- Bulk Upload Validation: Background processing with comprehensive error reporting
- Warehouse Context System: Global warehouse switching with user preferences
- Staging Area Management: Capacity monitoring and dwell time tracking
- StatusBadge Component: Centralized status management with variant support
- React Query Integration: Comprehensive data fetching with caching strategy
Changed¶
- Mobile Touch Targets: Increased to 44px+ for better accessibility
- API Response Format: Standardized pagination metadata structure
- Demo Credentials: Updated demo credentials for development environment
- Docker Development: Hot-reload environment with automatic migrations
Fixed¶
- TypeORM Entity Mapping: OrderLine.lineNumber property with raw SQL workaround
- Mobile Responsive Issues: Improved card layouts for small screens
- Barcode Generation: Enhanced bwip-js integration for various formats
[1.0.0] - 2025-01-15¶
Added¶
- Initial production release
- Multi-warehouse support with global warehouse context
- Product catalog management with barcode generation
- Real-time inventory tracking with location management
- Order fulfillment workflow with pick lists
- Receiving operations with quality checks
- LPN (License Plate Number) management
- User authentication and role-based access
- Bulk upload functionality for products, orders, inventory
- Mobile-responsive PWA interface
- Comprehensive OpenAPI/Swagger documentation
Features¶
- Warehouse Management: Multi-warehouse operations with context switching
- Product Management: SKU management with automatic barcode generation
- Inventory Tracking: Real-time inventory levels with location-based tracking
- Order Processing: Complete order workflow from creation to fulfillment
- Receiving: Advanced receiving with routing decisions
- Mobile App: Touch-optimized mobile interface with service worker caching
- API: RESTful API with JWT authentication and pagination
- Reporting: Inventory reports and comprehensive transaction history
- Testing: Playwright E2E test suite with visual regression testing
- Infrastructure: AWS CDK deployment with ECS Fargate and Aurora Serverless v2
Coming Soon¶
Future releases will include:
- Inventory Data Consolidation: Single source of truth for inventory location and quantity across all entities, with immutable shipping snapshots for historical shipment queries
- Advanced Analytics: Business intelligence and reporting dashboards
- Transload Operations: Cross-dock and transload workflow management
- Wave Picking: Advanced picking strategies for high-volume operations
- Yard Management: Dock door scheduling and yard tracking
- Multi-language Support: Internationalization for global operations
How to Stay Updated¶
- Check this page regularly for release announcements
- Subscribe to email notifications (contact support@zoratech.io)
- Follow release notes for detailed feature descriptions
Support¶
For questions about specific releases or features:
- Email: support@zoratech.io
- Documentation: Getting Started
- User Guides: Warehouse Management