May 28th 2026 Patch Notes

New
- Continued development on the v1 API project, addressing edge cases surfaced during internal testing. The versioned API foundation laid last week is being progressively hardened ahead of broader rollout next month
- Added a filter combo box to the OCR Extract Invoice page allowing users to filter by specific error type — previously only "Missing Account" and "Archived Invoice" were available. Users can now select one or more error types to work through a specific category of extraction issues
- Added Read-Only API key support — tenants can now generate API tokens scoped to read-only access, blocking all POST, PATCH, and DELETE requests
- Added route access logging — a new global middleware logs one structured entry per HTTP request (user, tenant, IP, route, method, response code) to a daily-rotating log channel for usage visibility
- Added the ability to edit the Confirmed Quantity field on a work order after it has been marked as completed — previously required reopening the work order to enter a value that typically isn't known until after completion
Improvements
- Improved API 403 error messaging — policy denial errors now pass through the specific deny message rather than a generic "This action is unauthorized" response
- Updated and corrected the Services API documentation to accurately reflect current behavior, including missing statuses, change types, and workflow steps
Bug Fixes
- Fixed issue causing certain new Rover credentials to become stuck in "Validating" status indefinitely
- Fixed issue causing Republic Services Rover credentials to fail validation despite being valid
- Fixed issue causing GFL Rover invoices to repeatedly fail processing despite the invoices being available in the GFL portal

Bug Fixes
- Fixed issue causing vendor invoice line item charges to be incorrectly pinned to work orders belonging to a different service — the system now validates that the work order and charge belong to the same service before associating them
- Fixed querying issue causing the Pickup Details report to show pickups from a different compactor monitor
- Fixed issue causing AutoPilot settings to throw a
TypeErrorwhen saving notification contacts with some types populated and others left empty - Fixed slow database query on the CompactorMonitor job taking up to 30 seconds
If you have additional questions or need more in depth information, please feel free to send us a message using the help beacon in the lower right-hand corner.