Enhancements
General
- Improved security by requesting re-authentication on email address change
- Updated the default values for a brand’s email configuration to use SMTP
Client Manager
- Added integration to QuickBooks Online
- Added the ability to limit the number of charge retry attempts
- Added support for OnApp 6 as a new plugin
- Enhanced credit card charge logic to detect hard declines (card cancelled, stolen, etc.) and stop charge retries
- Ticket Billing overage notifications “From”, “Subject” and “Body” fields can now be customized
- Updated Edit Service functionality so Billing Start Date can’t be edited if the service has been invoiced
- Small UI improvements to Service Pricing and Report boxes
- Added timeout configuration to OnApp Billing module
- Added the ability to propagate a new Plugin to all existing service when adding to a service plan
Order Manager
- Added support for payments using ACH accounts on quotes
Device Manager
- Added SNMPv3 support to Server Metrics device module
- Updated Huawei NE40 switch device to support 100Gbps ports
- Increased default maximum bandwidth for unknown port types on switch devices from 10Gbps to 100Gbps to better reflect current state of technology
Reports
- Added Monthly Recurring Revenue (MRR) report
- Improved navigation on the credits issued report by adding breadcrumb links
Plugins and API
- Improved plugin configuration UI
country
is now a required parameter when adding a new credit through theclient.cc_add
andclient.cc_update
API methods (value must be a valid ISO code)- Datasources can now return custom details for a resource to display on the service details page and on invoices
Bugfixes
Client Manager
- Fixed a bug which allowed a service to be set as a parent of itself, causing it to disappear from some listings
- Fixed issue where you couldn’t re-credit an invoice when a credit was previously applied then refunded
- Fixed a calculation bug when pro-rating in February on leap years
Support Manager
- Fixed a bug which would dipslay the ticket owner’s avatar rather than the ticket post’s author’s avatar (note that this fix will only apply to new posts)
- Truncate very large ticket responses with the ability to download the entire response if the length limit is reached
Device Manager
- Fixed issue where dashes in a device switch port name would cause bandwidth graphs to not display
Sale Manager
- Fixed a bug preventing quotes from being successfully signed when Stripe Checkout is enabled
Plugins & API
- Order creation through the API now correctly supports Paypal Billing Agreements (
return_url
andcancel_url
parameters must be provided underbilling_agreement_paypal
in theinfo
parameter of theorder.create
API method, which will in return populate thegateway_url
key in theinfo
section with the URL to forward the client to; once the client returns from Paypal,order.submit
can be called) - Fixed a bug where the plugin logger would not display any logs in UI once Redis server reaches 10,000 messages, removed duplicate display of failure messages, and improved logging accuracy for whether plugin hook has run or not
- Fixed a manifest validation error displaying incorrectly on the plugin list page when a
bootstrap.php
file is found without amanifest.json
- Fixed issue where
client.ba_delete
API method wouldn’t accept JSON body - Fixed issue where API documentation (as generated by
uber.documentation
API method) table of contents links weren’t working - Added new parameter
vat_id
for API methodsclient.add
andclient.update
- Fixed possible “undefined method” error when installing a new plugin
- Fixed a bug with
uber.service_plan_get
which would cause upgrade options pricing to be incorrect when brand currency would be different from the default brand - Fixed issue where credits created through the API would trigger the
afterpaymentcreate
hook instead ofaftercreditcreate