360
Changes Logged
79
Modules Touched
277
New Features
63
Bug Fixes
What's New
New Features
New capabilities added in this release, grouped by module.
Labels 3
- Redesign Default Label for 4x6 format with integrated QC QR code
- Improved Label 4x5 design and layout for improved readability and spacing
- Added stack label handling for multi-row pallets in label4x5 and label4x8
Reports 4
- Improved QC inspection report to include separate tables for each checklist and improve data handling
- Improved QC inspection report to include detailed checklist tables and improve historical data integrity
- Added new food safety inspection room signs with QR code functionality
- Improved report to include SF order number and customer PO in PDF and CSV exports
Quality Control 10
- Added README for QC commodity library with checklist guidelines and rules
- Improved QC module to version 1.7.0 with new features and improvements
- Improved checklist templates with coverage panel and preselect product
- Improved mobile pallet inspection to enhance checklist handling and display, including new general inspection features
- Improved QC component to version 1.8.0 with new Default Label layout and QR integration
- Added GroupLabel column to QCInspectionItems for better inspection context
- Improved QC summary to include checklist breakdown for inspected pallets
- Improved template editor with readiness checks and improved error handling
- Improved version to 1.4.0 with new template editor features and error handling improvements
- Improved QC sticker dimensions to 2x4in and implement local QR code generation
Scanner 2
- Added in-page QR scanner and "Scan next" functionality for seamless navigation
- Improved multi-row pallet pick toast details
Badge 2
- Improved badge printing functionality and documentation with orientation options and improved styling
- Added IP rate limiting and JWT requirement for badge validation
I18n 11
- Improved inspection messages and add generic checklist structure in English, Spanish, and Portuguese language files
- Added new room sign and inspection labels in English, Spanish, and Portuguese
- Added stack and unstack functionality messages in multiple languages
- Added edit check-in functionality and update order unlinking messages in language files
- Added check-in locked fields message in multiple languages
- Added stack number localization for multiple languages
- Added timeout correction hint for finalized orders in multiple languages
- Added location activity translations and enhance inventory dashboard language support
- Added tooltip for POD requirement before deleting pallets
- Added trailer photos translations in English, Spanish, Punjabi, and Portuguese
- Added SMS and email link notifications for trailer photos in English, Spanish, Punjabi, and Portuguese
Inspections 3
- Improved pallet-level quality inspection process with fallback to General inspection and improved checklist validation
- Improved version to 1.2.0 with area checklist limitations and active area handling
- Added photo functionality for failed items
Other 34
- Improved Employee Badges functionality and styling
- Improved QC inspection and reporting features
- Added Food Safety permission for inspections and pest control
- Added Pest Control component and Food Safety navigation
- Improved site connectivity email diagnostics with detailed sample reporting and device stall metrics
- Improved error diagnostics for QuickBooks integration with detailed migration checks and unknown column reporting
- Improved help documentation with keywords for better searchability
- Added handling for empty manifest uploads with headers but no data rows
- Improved documentation with public Help Center and access guidelines
- Added Help Center Drift Check to ensure documentation accuracy and update guidelines
- Added token-based access control for documentation and update links to preserve token
- Improved auto-version workflow to adjust version bump logic for breaking changes
- Improved performance and error handling across multiple controllers
- Added soft delete for inventory rows and release rack cells
- Added new report for location rack labels with 3-up layout and barcode support
- Added Pick List report with pallet locations and update related documentation
- Improved BOL handling and error messaging for shipping status changes
- Improved ClientErrorController and JsonResponseDevAlertHelper for enhanced session verification and triage hints
- Improved ClientErrorController and JsonResponseDevAlertHelper for improved device identification and connectivity reporting
- Improved tenant handling and error responses across multiple components
- Improved JsonResponseDevAlertHelper and client-error-reports documentation for enhanced console report handling and email notifications
- Improved updateInvoicePrice validation for zero prices and improve error handling
- Added Driver License capture feature for the Check-In kiosk with related settings and translations
- Improved Pick List report with detailed pick progress and improved pallet handling
- Improved dark theme menu styles and improve accordion item visibility
- Improved error reporting categories to include 'performance' and adjust related documentation
- Improved QuickBooks integration with new invoice link management features
- Added handling for mixed/stacked repack output pallets
- Added new image assets and remove unused CSS files for login and PIN entry
- Improved QuickBooks integration with improved item resolution and error reporting
- Added "Use This QuickBooks Customer" functionality for invoice sync errors
- Improved transport display and related documentation for BOL and trailer photo handling
- Added lesson on invoice linking verification to prevent incorrect associations in QuickBooks sync
- Added support for recording BOL signatures on paper
Locations 4
- Added room type and status management
- Removed temperature logging components and related scripts
- Restructure navigation and access control for locations management
- Improved temperature link structure and enhance permission checks for save/update/delete actions
Mobile 2
- Improved version to 1.2.0 with area checklist limitations and inactive area handling
- Added mobile bootstrap with QR token handling and layout
Temperature 13
- Improved version to 1.1.0 with inactive room handling and overview adjustments
- Initialize $temperatureI18n and format statistics display
- Added multilingual support for temperature logs in English, Spanish, Punjabi, and Portuguese
- Room QR sign layout in Print Labels; require corrective action on phone
- Added temperature component documentation and update operational report details
- Added migration scripts for temperature targets, readings, audit, and legacy data import
- Improved room sign layout with thermometer icons, new footer design, and tighter spacing
- Added room temperature monitoring flow and update navigation links
- Improved temperature report logic to improve humidity handling and reading accuracy
- Added temperature routing and access control for monitoring
- Added temperature module into inventory menu and update navigation links
- Room sign footer shows software name, website and white website QR
- Added camera functionality for thermometer photos and OCR value suggestion
Navbar 1
- Improved breadcrumb functionality to display room names and enhance navigation
Pestcontrol 3
- Improved version to 1.3.0 with inactive room handling and adjustments to device management
- Improved pest control component to version 1.1.0
- Improved inspection photos support with modal and validation
Repack 8
- Added operational attachments and enhance repack order planning
- Removed unused pick tag form and related service logic
- Added step-by-step navigation for repack work plan and enhance error handling for attachments
- Added repack plan guard to prevent picking reserved pallets and handle exceptions
- Improved repack order handling with improved delete logic and UI updates
- Added repackPlanRestoreLine to manage planned tag-in removals
- Improved leading zero handling in stack input
- Improved repack order functionality with pallet stacking
Planner 3
- Improved planform to support decimal target cases and improve validation messages
- Improved pallet management with bulk release and improved lot summary display
- Improved loading experience by implementing loading states for plan sections
Adr 1
- Added ADR-0006 for repack work plan pallet reservations with unique key enforcement
QuickBooks 18
- Improved QuickBooks integration error handling and logging for better diagnostics
- Improved payments and alert helper for enhanced error diagnostics and related alerts tracking
- Improved QuickBooks integration to handle $0 invoice pushes and improve error messaging
- Added customer linking from invoice and enhance error reporting
- Added identity mismatch checks to prevent syncing over wrongly linked invoices
- Added auto-sync for unmapped customers during invoice push and payment import
- Improved handling for QUICKBOOKS_INVOICE_DOCNUMBER_CUSTOMER_MISMATCH with detailed messaging and error categorization
- Improved invoice link management with payment review process and localized messages
- Improved invoice comparison with identity verification and fix link functionality
- Improved invoice sync logic to ensure customer verification for DocNumber matches and enhance error handling for mismatched links
- Restore detailed empty invoice line reasons in sync responses
- Added identity verification messages for invoice linking and sync issues
- Added fetchInvoiceIdentities method for batch invoice retrieval with DocNumber and customer references
- Improved invoice linking logic to include customer verification for DocNumber matches
- Improved invoice scanning to handle deleted local invoices and count orphaned links
- Added importAllUnresolvedInvoices to API-backed actions to resolve 501 error
- Improved invoice sync process with customer matching and error handling for incorrect links
- Added new relink refusal reasons to the suppressed 409 list for better error handling
Attachments 6
- Added reusable photo gallery and backend support for operational attachments
- Added multilingual support for photo management in pest control inspections
- Added shared operational attachments for photos in inspections and pest control
- Added migration scripts for shared operational attachments
- Added shared operational attachments for photos in records
- Added AttachmentNames helper for consistent filename generation across invoice and receiving reports
Support 1
- Added Freshdesk support widget with enhanced context handling and user identification
Documentation 1
- Improved visitor check-in flow details and update related documentation
Help 1
- Improved Help Center structure with categories and improved search functionality
Pestdevice 1
- Improved to version 2.1.0 with photo handling improvements
Alerts 6
- Added one email per run for client error reports to reduce redundancy
- Improved error reporting with thrown context details and PHP version information
- Improved JsonResponseDevAlertHelper for version 1.28.0 with new temperature input refusal messages and suppressions
- Group handheld connection problems by tenant + IP
- Improved JsonResponseDevAlertHelper to include device model breakdown in error reports
- Improved QUICKBOOKS_INVOICE_ALREADY_SETTLED to suppress dev alerts for unimported payments
Auth 2
- Clear stale cookies when scanning another tenant's sign
- Enforce token source flags and disable URL token usage
Qrcode 1
- Improved QR code error correction level handling for compatibility with PHP 8.2
DataPlex 1
- Added 'attachment' entity type for operational attachments support
Receiving 8
- Improved GET /receiving/{id}/pallets to include ReceivedBy, ReceivedTime, and ReceivingStatus; update POST /inventory/receive to support occupant replacement
- Added check-in field locking and unlocking for transport info
- Improved POD deletion logic to redirect to details page when no pallets remain
- Improved deletion process with document dependency links and update documentation
- Added POD check and update deletion logic for pallets
- Added edit locking for non-Pending records with dedicated error handling
- Improved transport info components to version 2.1.0 with driver phone validation and improved error handling
- Added POD check before deleting pallets and update data handling
Inventory 8
- Improved move and putaway endpoints to support occupant replacement logic
- Added deleted pallet guard across inventory transactions
- Added inventory dashboard functionality with aging, summary, rooms, attention, and activity actions
- Added inventory dashboard and on-hand view with localization updates
- Improved picking logic to handle explicit idInventory for single lot picks
- Added columns for stacked repack output pallets tracking
- Improved inventory map to support deep linking for cell selection
- Improved inventory dashboard with location activity tracking and needs attention list
Pick Orders 9
- Added multi-select filters for inventory search and update documentation
- Sanitize input values for pick status dropdown and orders list range display
- Improved data security and reliability
- Document support for multiple selected values in inventory search filters
- Improved stack handling for multi-row pallets
- Improved barcode scanning flow and add multi-row pallet handling details
- Improved deletion rules for auto-generated requests post-shipping
- Document stack pallets feature for pick orders
- Improved check-in logic to recalculate status only after shipping
Payments 4
- Added customer and status filters, update translations and documentation
- Added auto-healing for stale invoice totals in mappedInvoices
- Improved payment processing to handle concurrent updates and improve error reporting
- Improved Finances update logic to handle missing IdPayment column for legacy schemas
Checks 14
- Improved check-in order removal logic with validation exceptions and add migration for order history
- Improved check-in data tables and localization for improved filtering and display
- Added check-in information editing and order removal functionality
- Added CheckinLinks for mobile check-in tracking and enhance session management
- Improved check-in report functionality with manual entity support and improved error handling
- Improved check-in list queries with new indexes and batch processing
- Added Pick/Delivery numbers to check-in list and update localization
- Improved pick and receiving orders to handle potential null values and improve versioning
- Enforce required driver name input and improve validation handling
- Improved to version 1.5.0 with trailer photo link functionality and enhanced check-in status handling
- Improved doorinfoupdate to sync door number with linked Receiving and Pick orders
- Improved check-in status labels to use i18n keys and enhance status mapping
- Improved door assignment logic to update check-in status and sync with linked orders
- Improved check-in status logic to prevent reverting from final states and enhance documentation
Drivers 4
- Added documentation for short links in driver text messages to reduce SMS costs
- Improved to version 5.0.0 with enhanced phone digit matching and global directory lookup
- Added transport status messages for driver management
- Added global driver directory lookup by phone to DriverCheckinApi
Check-in 14
- Improved check-in order removal logic with validation exceptions and add migration for order history
- Improved check-in data tables and localization for improved filtering and display
- Added check-in information editing and order removal functionality
- Added CheckinLinks for mobile check-in tracking and enhance session management
- Improved check-in report functionality with manual entity support and improved error handling
- Improved check-in list queries with new indexes and batch processing
- Added Pick/Delivery numbers to check-in list and update localization
- Improved pick and receiving orders to handle potential null values and improve versioning
- Enforce required driver name input and improve validation handling
- Improved to version 1.5.0 with trailer photo link functionality and enhanced check-in status handling
- Improved doorinfoupdate to sync door number with linked Receiving and Pick orders
- Improved check-in status labels to use i18n keys and enhance status mapping
- Improved door assignment logic to update check-in status and sync with linked orders
- Improved check-in status logic to prevent reverting from final states and enhance documentation
Transport 11
- Added BOL signature check to block email sending until signed
- Improved versions and enhance Send BOL functionality with warnings for waiting orders
- Added Time Out correction mode for shipped orders
- Improved transport edit logic for finalized check-ins and implement Time Out correction mode
- Added edit locks for check-in fields and clarify order removal process
- Improved driver initials extraction to handle blank names and multiple spaces
- Sync changed DoorNumber to linked check-ins and orders in the same transaction
- Added "Send trailer photo link" button and update version to 1.8.0
- Improved to version 1.1.1 with BOL signature state loading in transport_display component
- Improved to version 1.1.0 with driver phone validation and integration with searchdriver
- Improved search driver script to improve form handling and version to 1.1.0
API 8
- Incremental GET /locations/list?since= from a trigger-fed change log
- Added soft delete for inventory rows and release rack cells in one transaction
- ETag / If-None-Match 304 for GET /locations/list
- Added client error reporting webhook and associated logic
- Added ClientErrorController for handling error reports and update API router
- Improved ClientErrorController and JsonResponseDevAlertHelper for enhanced tenant reporting and email alerts
- Improved Bulk, Location, and Pallet controllers for mixed pallet handling and enhance pallet grouping logic
- Added pick_stack_normalize function to dissolve single pallet stacks
Kiosk 21
- Improved version to 1.2.0 with config.local.php support and age cutoff change
- Added local development configuration support in config files
- Added repack panel, upcoming ticker and unattended-TV safeguards
- Added KioskController and endpoint for Shipping & Receiving TV board
- Improved KioskController and API documentation for enhanced KPI metrics and data structure
- Improved KPI metrics and multilingual support in Shipping & Receiving board
- Removed repack panel and update related functionality to use "Repack pending" tag
- Added documentation for Shipping & Receiving TV board
- Improved KioskController and API documentation for version 1.3.0, removing repacks list and adding repackPending status
- Improved API response to include check-in status and minutes on site for receivings and shipments
- Added driver status tagging in inbound/outbound rows
- Improved to version 1.5.0 with pulsing alert for drivers waiting on door assignment
- Improved check-in status logic for pickup drivers
- Added KPIs for trucks checked in today
- Improved kiosk documentation for version 1.1.0 with enhanced KPI metrics and queue rules
- Improved terminology from SAIDPIN to Customer PIN in setup forms and translations
- Added sub-line for trucks today in KPI and update translations
- Improved driver status tagging in inbound/outbound panels
- Improved kiosk documentation for version 1.3.0, removing separate repack list and adding repackPending status
- Improved KPI for trucks on site to include check-in types and status details
- Improved terminology from SAIDPIN to Customer PIN in setup instructions
Tagout 1
- Fixed table reload handling and improve unstack validation
Pallet 4
- Improved pallet scanning logic to prefer awaiting receipts
- Added rack cell management for empty pallets during pick and unpick operations
- Improved pallet group sync logic to improve cell restoration handling
- Improved pallet restoration logic to prevent restoring staged pallets
Storage 2
- Added multi-row pallet handling in inventory actions and related components
- Added pick_stack_normalize function to dissolve unneeded pick-time stacks
Sales Orders 1
- Sanitize output for consignee and address fields, update transport info version and variable resolution
Email 4
- Handle potential null values for recipient and message in event feed
- Added MailSendLock to prevent duplicate email sends during SMTP processing
- Added TenantLogoUrl helper for dynamic tenant logo URL generation
- Added tenant logo endpoint for serving uploaded company logos in emails
Login 1
- Added brand panel and enhance login functionality with AJAX validation and JSON responses
Pick 2
- Added staging functionality for READY TO SHIP orders
- Improved pick operations to include JWT claims for user identification
Wizard 2
- Improved wizard run logic to handle stale page scenarios and update error reporting
- Improved Run Wizard button behavior and add localization for locked state
Pallets 1
- Improved pallet lookup logic to handle multiple matches and enhance API documentation
Labor 2
- Removed delete action for active and paused entries in UI
- Improved script tag to use htmlspecialchars for asset URL
Seasonal-effects 1
- Improved seasonal effects documentation and restructure test file locations
Production 1
- Improved production management components with audit follow-ups
Invoices 1
- Added "Compare to QuickBooks" functionality and enhance sync logic for invoice divergence handling
Products 1
- Improved production management components with audit follow-ups
Global 1
- Improved to version 1.3.0 with enhancements to driver phone validation and resolution
Searchdriver 1
- Added driver phone search and validation with enhanced status messages
Export 1
- Added "Compare to QuickBooks" functionality for invoices, handling never-synced state
Trailer 2
- Added trailer inspection photos functionality and API integration
- Added optional trailer photos section in check-in card
Logistics 1
- Added Transport Info: Driver documentation for phone search and validation
Bolfooter 1
- Improved driver e-signature positioning and version to 1.3.1
Timezone 1
- Improved system timezone retrieval to allow multiple settings rows and improve error handling
Status 1
- Added new check-in statuses for paperwork in English, Spanish, and Portuguese translations
Preferences 1
- Improved timezone dropdown ID for proper initialization and fix script asset URL
Better Every Release
Improvements
Enhancements to existing functionality across the platform.
- Improved label descriptions and enhance QC label generation
- Improved food safety inspections and warehouse management
- Improved Repack Order Planner: Enhance finished pallet handling and sync logic
- Improved documentation for reports and quality control processes
- Improved receiving confirmation and status descriptions
- Improved Help Center Documentation Structure and Content
- Improved UI documentation and standards
- Improved performance documentation and troubleshooting resources
- Improved shipping documentation links and add production improvement recommendations
- Improved shipping instructions for clarity
- Improved error logging system to capture and store JavaScript errors in the tenant database
- Improved authentication systems documentation and enhance PIN entry flow
- Improved check-in data retrieval by removing redundant queries and updating localization keys
- Improved code structure for improved readability and maintainability
- Improved URLs to production environment in mail and report templates
- Code structure for improved readability and maintainability
- Improved HTML structure and formatting for better readability
- Improved indentation and formatting for better readability
- Improved item grouping logic in release manifest generation
- Renamed $Customer to $OwnerCustomer for consistency across mail templates
Rock Solid
Bug Fixes
Issues resolved in this release, grouped by module.
Other 8
- Fixed standards audit dropdown violations
- Avoid selector interpolation in planner dropdown
- Improved documentation to reflect historical context and redact sensitive information
- Improved documentation paths to reflect directory restructuring
- Address review feedback (Help-Impact: none)
- Improved documentation paths to reflect new directory structure
- Improved robots.txt to remove trailing slash from Allow directive for help documentation
- Fixed compare URL generation in release manifest script to include correct tag prefix
Receiving 6
- Stop offering pallet delete after receiving is confirmed elsewhere
- Added TRAILER_INSPECTION_LOCKED no-op for stale submissions to reduce noisy error alerts
- Improved cell object handling to prevent detachment errors during value resolution
- Improved cell value resolution in processXLSX to prevent detachment errors
- Renamed $Customer to $OwnerCustomer for consistency in receiving templates
- Wrap import history table in raised segment for improved styling
API 2
- Shorten idempotency lock wait to 5s for the new handheld timeouts
- Serialize same X-Request-Id writes with a 5s named lock (master backport)
Repack 3
- Improved Comments handling to prevent null values on edits
- Improved attachment fetching to use dynamic base URL instead of hardcoded path
- Wrap tables in raised segments for improved styling
Delete 1
- Prevent multiple delete requests by using delegated event handling
Fsma204trace 1
- Improved code comments
Inventory 2
- Improved data security and reliability
- Wrap tables in raised segments for improved styling
Production 2
- Fixed idProduction collision in packrunform and productionform to ensure correct context handling
- Wrap tables in raised segments for improved styling
Transfers 2
- Improved data security and reliability
- Wrap tables in raised segments for improved styling
Locations 1
- Wrap tables in raised segments for improved styling
Sales Orders 1
- Wrap tables in raised segments for improved styling
Bills 1
- Wrap table output in a raised segment for improved styling
Payments 1
- Improved payment details display to use raised segment for improved styling
Checks 1
- Wrap tables in raised segments for improved styling
Wire Transfer 1
- Wrap wire transfer table in raised segment for improved styling
Finances 3
- Improved dropdown text to use localized strings for customers and vendors
- Improved financial integrity checks and enhance navigation structure
- Added isValidFinanceType guard to update actions for charge records to ensure valid FinanceType values
Customers 1
- Improved payment and mail broadcast components to use raised segments for improved styling
Growers 1
- Wrap email broadcast table in a raised segment for improved styling
Vendors 1
- Wrap bills table in raised segment for improved styling
Users 1
- Wrap permissions table in raised segment for improved styling
Products 2
- Fixed idProduction collision in packrunform and productionform to ensure correct context handling
- Wrap tables in raised segments for improved styling
Commodity 1
- Removed redundant dropdown clearing for PackStyle
Email 8
- Trim, lowercase, and validate email addresses server-side across multiple components
- Improved recipient validation and error handling for malformed addresses
- Improved report URLs to use BaseUrlHelper for dynamic base URL resolution
- Handle AJAX timeout to close flyout and prevent duplicate email sends
- Trim whitespace from email addresses and enhance validation in BroadcastEmailHandler
- Document handling of slow SMTP sends and prevent duplicate invoices
- Added error handling for email send in progress scenario and enhance user feedback
- Replace deprecated file_get_contents with fopen for HTTP requests
Inquiry 1
- Wrap inbound and outbound sections in raised segments for improved styling
Manifest 3
- Improved merged cell handling for accurate data retrieval
- Fixed isManifestImportLocked() logic to prevent false-positive import locks
- Fixed row-level correction payload reading for validation errors in mapfields and validation error modal
Calendar 2
- Improved date formatting and parsing across calendar components
- Removed unnecessary class attribute from date input fields
Pallet_activity 1
- Added requireAnyModulePermission() for shared endpoints to allow access for users with multiple module permissions
Tempmanifest 1
- Improved AJAX error handling to pass xhr object for actionable server messages and redirect on MANIFEST_ALREADY_IMPORTED
Web 1
- Improved login URLs to point to the new application site
Trim-email 1
- Added script to remove whitespace from EmailBroadCast addresses
Connection 1
- Added collision-safe copy of tenant's registry id for consistent access
Importdata 1
- Wrap form in raised segment for improved styling