Release Notes
Track updates, improvements, and new features across the SMH Trucking platform.
Version 1.4
May 19, 2026
✨ New Feature: Truck Billings / Payments
- NEW Dedicated Billings Dashboard: Added a new dashboard designed to replicate and replace the manual spreadsheet workflow for verifying truck loads and inputting invoice numbers.
- NEW Dynamic Aggregation: Loads are automatically grouped by Date, Trucking Co, Job, Material, and Location. Detailed Material Tickets are concatenated into a single cell, reflecting Excel-style logic.
- UPDATE Inline Data Entry: Added the ability to manually enter "Truck Invoice #" and "Material Invoice #" directly into the grid without opening a separate editing form.
- NEW Fuzzy Grid Searching: Added advanced text filtering allowing users to search dynamically across Ticket ID, Job Number, Trucking Co, and Invoice numbers simultaneously.
🔒 Security & Permissions
- UPDATE Access Lockdown: Hardened application-wide permissions to explicitly prevent `Viewer` and `User` roles from deleting database rows. Row deletion is now strictly restricted to `Manager` roles and above.
- UPDATE UI Hardening: Hidden all delete buttons in the browser interface via CSS constraints for unauthorized roles to prevent accidental interaction.
🔧 Infrastructure
- UPDATE Database Schema Migration: Expanded the SQLite and production PostgreSQL core tables to seamlessly capture and permanently store invoice metadata alongside historical haul records.
- FIX Dashboard Metrics: Resolved a silent bug in the SQL query that caused the main Dashboard KPIs (Total Tickets, Today, This Week) to crash and display dashed lines by synchronizing date casting logic between local and production databases.
Version 1.3.2
May 14, 2026
✨ AI Extraction Updates
- UPDATE Mobile Photo Logic: Instructed the Gemini Vision engine to dynamically filter out camera shadows and lighting artifacts caused by mobile document scanners (e.g., OneDrive, CamScanner) to prevent phantom checks in checkbox fields.
- UPDATE Long Truck Numbers: Removed explicit "SHORT" constraints on the Truck Number AI extraction prompt to allow the engine to confidently capture extended 7-digit truck identifiers (e.g., "6020200") without breaking them apart.
🔧 Improvements & Infrastructure
- FIX Processing Timeout: Expanded the local and server timeout limits on the Python extraction script from 2 minutes to 5 minutes to accommodate large multi-page PDFs or high API traffic without forcibly killing the process mid-extraction.
- UPDATE Friendly Error Handling: Intercepted raw script-crash outputs and replaced them with human-readable UI error messages for easier user troubleshooting.
Version 1.3.1
May 13, 2026
✨ New Features
- NEW Material Aliases: Added the ability to manage material aliases (e.g., mapping "3/4 Bucketshot" to "3/4 Clear Rock") via a custom pop-up modal in the Settings screen, preparing the AI matching engine for increased accuracy.
- NEW AI Hour Extraction: Upgraded the OCR engine to automatically locate, read, and populate the "Total Hours" field directly from the physical haul card's mini-tables, dramatically reducing manual data entry for validation.
- NEW Side-By-Side Layout: Completely redesigned the Uploads screen using a responsive side-by-side layout, tucking the drop-zone and draft filters together to massively expand the vertical viewing space for the Drafts table.
🔧 Improvements & Infrastructure
- UPDATE Dynamic Summary Reconciliation: Editing detail rows (Material, Cost Code, or Quantity) now triggers a live deep-recalculation of the mini-table summaries without wiping out manually edited hours.
- UPDATE Job Name Lockdown & Auto-Sync: Hardened the Job Name field with strict dropdown validation. Selecting a corrected Job Name now automatically synchronizes and patches the related `SMH Job #` in the database.
🐛 Bug Fixes
- FIX Material Addition from Drafts: Patched a silent data-formatting bug that prevented the `➕ Add` button from successfully saving brand new materials directly from the Drafts screen.
- FIX Location Validation Button: Fixed a DOM rendering bug that prevented the `➕ Add` button from appearing when typing unrecognized To/From locations.
- UPDATE AI Time Logic: Enhanced the Gemini extraction prompt to utilize "common sense" day-shift logic when AM/PM marks are ambiguous (e.g. assuming 1:00 is 1:00 PM), greatly reducing false validation errors.
- SECURITY Data Warehouse Protection: Added a strict back-end API interceptor to guarantee that standard users cannot bypass the UI to edit Approved tickets.
Version 1.3
May 12, 2026
✨ New Features
- NEW Draft Workflow: Implemented a secure staging area. New OCR uploads are now held in "Draft" status on the Upload page until officially approved into the Data Warehouse.
- NEW Click-to-Edit: Transformed almost all static data tables into interactive grids. Users can now click on raw text values (Date, Broker, Trucking Co, Driver, Cost Code, etc.) to inline-edit and instantly save changes without refreshing.
- NEW Auto-Sorting: Approving drafted tickets now resets their internal timestamps, automatically bubbling the most recently worked tickets to the top of the Data Warehouse.
- NEW UI Enhancements: Redesigned the Uploads page to be full-width like the Data Warehouse and minimized the drag-and-drop zone to maximize working screen real estate. Updated the OCR AI prompt to accommodate new physical card template layouts.
🔒 Security & Operations
- FIX Fixed an issue preventing mass-approval functionality by resolving numeric vs. string DB references.
- FIX Applied strict CSS gating to the Data Warehouse, visually hiding all editing controls for non-manager users to enforce read-only policies.
Version 1.2
May 4, 2026
✨ New Features
- NEW Tally Mark OCR Support: The AI now automatically reads and parses Hash/Tally marks (`|||| /`) for high-volume drivers, dynamically creating blank load rows to perfectly match the daily tally counts.
- NEW ITO Ticket Number Tracking: Captured and tracked "ITO Ticket #" automatically from the physical haul cards to the Data Warehouse.
- NEW Broker Filtering: Added a new "Broker" dropdown filter to the Data Warehouse to easily isolate trucking resources.
- NEW Watermarks: Added the "Katelyn" watermark aesthetic branding to the Data Warehouse edges.
🔧 Improvements & Infrastructure
- UPDATE SSO Decoupling: Migrated the platform-wide identity system to use a centralized `SSO_SHARED_SECRET`. You can now update and redeploy individual applications without logging out all active Hub users.
- UPDATE PostgreSQL Parity: Refactored the core database connectivity layer to simultaneously support local SQLite and AWS PostgreSQL RDS environments seamlessly.
🐛 Bug Fixes
- FIX Missing Tickets: Fixed a DOM collision bug where pre-printed haul cards sharing identical `Ticket_ID`s (e.g., SMH00001) would accidentally hide or overwrite each other in the UI.
- FIX Bulk Updater Display: Fixed a tracking ID mismatch that caused the Data Warehouse to flash a "Ticket not found" error during the auto-refresh phase of a Bulk Update.
Version 1.1
April 27, 2026
✨ New Features
- NEW Inline Editing: Added real-time quick-editing for locations directly inside the expanded Ticket details panel.
- NEW Smart Correct: Data Warehouse now flags invalid Job Numbers, Truck Types, and Cost Codes with a yellow warning badge, allowing instant correction via dropdowns populated by verified B2W data.