Enhancements
General
- Strengthened password generation by enforcing a higher minimum password length for automatically generated passwords
Clients
- Updated CLM timelines to show scheduled service price increases when contract update schedules take effect
- Made sales tax exemptions brand specific
Devices
- Updated Devices in the UI to use modals instead of popups
- Removed unused device modules
Reports
- Added a Download CSV File option to the admin log viewer
Plugins & API
- Updated uber.username_exists so it can return deactivated contact names when checking for username conflicts
Bugfixes
General
- Fixed the brand selector dropdown so it remains positioned correctly while scrolling
- Fixed popup error messages so their text can be selected and copied
- Fixed duplicate flash messages caused by concurrent request handling by moving FlashMessage storage directly into Redis
- Fixed external release note requests that could return HTTP 403 responses
- Fixed database inserts so string fields are trimmed consistently before being stored
Clients
- Fixed MSA uploads that could fail on certain PDF files
- Improved bandwidth billing reliability with better logging, safer invoice handling, and recovery for missed invoicing scenarios
- Fixed the CLM Contract Schedule date picker when using the On Date scheduling option
- Fixed a quote duplication error that could trigger a database failure when copying related contracts with CLM disabled
- Fixed pending account credit activation so the original amount is no longer zeroed out under current-tax-rate configurations
- Fixed array to string conversion error when saving a client’s profile
- Fixed issue where long service names under Services Update Schedules could break the CLM layout
- Fixed contracts with past start dates so they now renew correctly in CLM
Support
- Fixed Support Manager email rendering so imported HTML content stays constrained within the parent container
Plugins & API
- Fixed support ticket post API output so ticket bodies no longer include HTML paragraph tags
- Fixed order.create so missing options are validated correctly
Orders & Payments
- Fixed BitPay so access tokens no longer need to be regenerated after upgrading Ubersmith
- Fixed PayPal order payment handling so cancelled or failed flows no longer leave duplicate credits or create duplicate payment side effects