ACTION REQUIRED:
As of Ubersmith 4.6.0, the database software deployed with Ubersmith will be updated to MySQL 5.7. Prior to upgrading Ubersmith, ensure that a backup of your Ubersmith database has been taken in the event there are issues upgrading to the newer database version.
IMPORTANT
Please note that the “Provision cPanel Account” order module has been deprecated and will be removed in 4.7.0, as all of the functionality provided by this order module is now available within the “Control Panel Account Manager” service module, which should be used going forward.
Enhancements
General
- Added Salesforce.com integration, allowing export of clients and contacts to SFDC
- Improved clarity of expired/invalid CSRF tokens user notifications
- Added an option to attach a PDF version of the invoice to the “Payment Received Notices” email
- Added a new mobile view to Client Manager and Support Manager
- Improved the Ubersmith license token renewal process
- Updated OnApp plugin to support version 6.3
- Upgraded jQuery UI library to 1.12.1
- Added Custom Payments plugin SDK
Client Manager
- Added the ability to specify on which cPanel host a new account is created on to the “Control Panel Account Manager” service module, updated the
device.device_hostname_get
API method accordingly (see API docs) - Added Premium Domain support for Enom, Namecheap and OpenSRS domain registrars
- Purchase Return Authorization (PRA) data is now supported and stored for refunds through the Cybersource payment gateway
- Added the
##service_list##
placeholder variable to “Invoice Notices”, “Invoice Notices for Accounts with a Prior Balance”, and “Invoice Notices for Accounts with No Balance” emails, which will return a simple list of the services that were invoiced - Added option to disable numeric validation of transaction ID when using a custom endpoint for the Worldpay and Worldpay Vault payment gateways
- Improved resilience of the 3D Secure 2.0 challenge flow
- Added support for pending payments, including PayPal eChecks, to PayPal Billing Agreements
- Added 3D Secure 2.0 support to Global Payments gateway
Support Manager
- Added the ability to configure a ticket update timer to the “Order Action Open Ticket” plugin
- Inactive users with assigned tickets are now hidden by default in the sidebar “USERS” view, added a “Show all users” toggle to have them displayed
- Added a “Last Updated” match rule for Ticket Escalations which represents the time until last followup or public comment from either support or the client
- Improved the Ticket Escalation interval configuration to more accurately represent supported values
- Added support for
#HTML#
variable to the Admin Response Post Script, allowing for HTML content inside the post script body content - Added support for multiple variables in escalation emails, including
#HTML#
for HTML content and#admin_id#
to include the admin’s user ID, and fixed a bug where variable placeholders were not getting replaced in automatic replies
Device Manager
- The “Bandwidth Notification” device module will now avoid sending a notification on the renewal date of a service
- Newly created switch RRDs will now use RRDtool’s DERIVE instead of COUNTER to provide better data resilience
Order Manager
- Added placeholder variables for the names of the owner, client, salesperson and account manager of the order in the “Send Notification to Admins” order module
Plugins & API
- Order queue plugin config items can now be configured at the order action level
- Added the
device.facility_add
device.zone_add
device.cage_add
device.row_add
device.rack_add
device.facility_update
device.zone_update
device.cage_update
device.row_update
anddevice.rack_update
API methods - Added the
device.facility_delete
device.zone_delete
device.cage_delete
device.row_delete
anddevice.rack_delete
API methods, which will also delete all downstream (child) objects - Added the
device.zone_list
device.cage_list
anddevice.row_list
API methods - Added the
device.vlan_add
device.vlan_update
anddevice.vlan_delete
API methods - Added the
device.ip_pool_add
device.ip_pool_update
anddevice.ip_pool_delete
API methods - Added the
device.ip_block_add
device.ip_block_update
anddevice.ip_block_delete
API methods - Added “Exporter” generic plugin type and corresponding SDK to facilitate creation of plugins that export Ubersmith data to third-party systems, including management of the initial export and continued runtime synchronization
Client Portal
- Added preferences to allow a client/contact to configure number of tickets per page, number of ticket responses per page, sort tickets, sort ticket responses, as well as a new permission to allow/deny access to those preferences
Bugfixes
General
- Fixed company logo not correctly displaying on the Settings “Reauthenticate” page
- Fixed long message bodies in Message Board posts on the main dashboard not being correctly displayed
- Fixed ticket list user preferences not applying consistently
- Removed unused server discovery link in appliance configuration screen
- Fixed issues with Advanced Search not correctly outputting results when an Interface or Connection field was included in the query
- Fixed QuickBooks Online Exporter plugin not populating Invoice Number, Refund Receipt Number, Credit Memo Number, Credit Memo Private Note, and Payment Receipt Number fields correctly
- Fixed an issue with the QuickBooks Online Exporter plugin not retrying failed operations due to an expired access token
- Fixed an issue with the QuickBooks Online Exporter plugin not correctly clearing record mappings when disconnected from the QBO company
Client Manager
- Fixed a bug where errors sending an email to a client would not be displayed, even if it was correctly reported as an error in the Mail Log
- Fixed Service Plan Code input validation to correctly restrict length to 16 characters
- Fixed incorrect brand detection when creating or editing a service with multiple opened tabs in different brands
- Renamed multiple credit card and ACH gateways, and removed some gateways that were no longer operational:
- Gateways renamed:
- ACH Direct to Forte
- Beanstream Payment Profiles to Bambora
- BluePay 2.0 to BluePay
- Braintree Token to Braintree Extend
- E-xact to E-xact Transactions
- eSELECTplus (CA) to eSelect Plus/Moneris Solutions
- First Data Global Gateway e4 Token to First Data
- GlobalOne Commerce to Nuvei
- Litle and Co to Worldpay
- Litle and Co – Vault to Worldpay Vault
- MetaCharge to PayPoint
- Network Merchants to NMI
- Network Merchants Token to NMI Token
- Optimal Payments to Paysafe
- Optimal Payments Token to Paysafe Token
- Orbital/Chase Paymentech to Orbital/Chase for Business
- Realex to Global Payments
- Realex Real Vault to Global Payments Vault
- VelocityPay to Velocity Payment Systems
- Virtual Merchant to ConvergePay
- Gateways removed:
- Debiteck
- eSELECTplus (US)
- ForceTronix
- IMSP FlexWeb
- InternetSecure/Ultracart
- iPay Gateway, Planet Payment
- Net1 Gateway
- Payments Gateway
- viaKLIX
- YourPay
- Processing Point
- viaKLIX
- YourPay
- ACH renamed:
- ACH Direct to Forte
- Litle and Co to WorldPay
- Orbital/Chase Paymentech to Chase for Business
- Virtual Merchant to ConvergePay
- ACH removed:
- Processing Point
- Fixed some issues with the “Paysafe Token” gateway 3D Secure 2.0 implementation to decrease likelihood of SCA challenges
- Fixed a bug which prevented adding a device to the “Bandwidth Billing” service module
- Fixed a pagination bug affecting many client-specific lists where client ID would not correctly be passed when navigating
- Fixed a bug that caused the “Edit Usage Plan” popup to save usage plan to the wrong service plan
- Fixed the Comodo SSL integration broken following its acquisition by Sectigo
- Fixed an issue with adding a new Usage Plan not allowing to update existing services when they are configured as a child service
- Fixed a bug when displaying the ticket list title if it contains HTML tags
- Fixed an issue with Authorize.Net payment gateway failing to log exception details
- Fixed a fatal error being incorrectly displayed when refunding or marking an invoice paid from a client’s View Invoices page
Support Manager
- Fixed the Add New Ticket Escalation popup allowing multiple clicks of the Save button, resulting in multiple ticket escalations being created
- Fixed an issue with incorrectly subject matching a ticket ID in email exchanges involving two separate Ubersmith instances
- Fixed an issue where ticket content was not displaying in some cases when created from an inbound email, but would become visible once View Headers was clicked
- Fixed an issue where in some cases URLs would not be correctly detected and transformed to clickable links within ticket posts
Device Manager
- IPMI credentials stored by the “IPMI Information” device module is now properly encrypted
- Fixed a bug where the “Linux Net-SNMP Server (Self-monitored Bandwidth)” switch model would not correctly read ports with the same description
- Fixed incorrect OID for “Servertechsentry Branch B” device
- Deleting/deactivating a device with the “Control Panel Host” device module is no longer possible if it is in use by any active services with the “Control Panel Account Manager” service module
- Fixed a bug with the “MySQL Status” device module returning a database connection error when saving a configuration change
Order Manager
- Outstanding account credits are now taken into consideration when performing a pre-authorization on an order
- Fixed incorrect brand association when viewing or editing an order’s Service Details, caused by opening multiple tabs with different brands
- Fixed an issue with pre-authorization not getting voided when cancelling an order with some payment gateways
- Fixed an issue with the “Order Action Open Ticket” plugin when some Company Profile settings are not correctly set
Reports
- Fixed “Aged Balances Report – Aged Credits” report always including pending credits in the results, not considering the “as of“ date provided
Plugins & API
- Fixed the
client.lookup
API method not correctly honoring thecountry
andstate
parameters - Fixed the
client.contact_add
API method not validating theclient_id
parameter - Fixed the
client.service_update
API method not updating the service options correctly in some cases and clarified relevant API docs entry - Fixed documentation for the
uber.admin_permission_get
API method not correctly indicatinguserid
orusername
parameter as required (one of the two must be specified) - Fixed issues with the
client.service_update
API method when determining if the service status should be set to cancelled when anend
date parameter is provided in non-UNIX timestamp format, and when both anend
andrenewdate
parameter was specified - Fixed the
client.service_price_set
API method not automatically adding default upgrade options when creating a new price period - Fixed a bug with Plugins when editing “Associated Components” for a module without a configuration
Client Portal
- Fixed ticket search not returning all valid matches for occurrences in ticket body
- Fixed support ticket list header count incorrectly including internal tickets (in both open and closed ticket counts), as well as in the
uber.client_welcome_stats
API method response