Unifi 3.1 Release Notes
Release date: 17 November, 2021
These fields were previously showing millisecond values. They now show system date-times which will make them easier to read and sort.
Fixed an issue where multiple bonds could be created. When running multiple updates in the same thread, e.g. a GlideRecord loop, it was possible for the the target record to be changed which could result in new bonds being created unnecessarily. This was due to a new feature of GlideScopedEvaluator which replaces the object in memory thus breaking internal Unifi script references.
Due to native Service Portal modifications, script fields in Designer would no longer appear locked even though they were read-only. This fix addresses the styling.
The latest performance improvements to Unifi Designer introduced a caching bug for system fields which is now fixed.
The Execute Now button on Pollers has been fixed so that Pollers are executed as the specified user and not the user who is logged in.
We've seen some issues caused by attachment records being updated multiple times in rapid succession (thousandths of a second) by the system user which occasionally will result in multiple Bonded Attachment records being created for the same attachment. We suspect that this is due to ServiceNow Antivirus scanning and updating the attachment record. To account for this, we’ve created two business rules to fire attachments, one for inserts and one for updates.
Fixed an issue with the licence report not identifying if the Unifi global utility was installed.
Release date: 20 September, 2021
Heartbeat messages can be setup to automatically monitor and manage the integration. When a heartbeat message fails, the integration status will be marked as "Down" and all outbound messages will be queued. As soon as another heartbeat is successful, the integration status is marked as "Up" and the integration is automatically resumed.
Unifi Integration Designer benefits from a significant performance upgrade with lists and forms loading up to 10x faster than previous versions.
Users can now create Messages with type heartbeat which will be automatically sent periodically to the target endpoint and help to prevent failed outbound transactions.
Response Actions now benefit from a scripted condition field so complex logic can be used to determine whether or not a Response Action should be used during outbound response processing.
A new Unifi Response Action has been added to support the logic for heartbeat messages pausing and resuming the integration.
A scheduled job is automatically created and managed based on the presence and state of a heartbeat message within an integration and the integration itself.
Connection records now benefit from an UI Action/button that can be used to generate OAuth tokens. The button only appears when the connection authentication is set to be OAuth 2.0.
Response Actions are now able to handle group codes rather than just one code per action. For example, setting 5xx will match all 500 based response codes.
We've made it easier to find what version of Unifi you are using and included the number of active integrations in the About modal, available from the support menu.
Fields available to add to a Message are now filtered by the Message table in Designer, meaning you won't see fields that aren't relevant anymore.
We've added support for heartbeat messages to be run both synchronously and asynchronously, meaning they work the same way as any other message in Unifi.
Heartbeat transactions are automatically cleaned up every hour by the "[Unifi] Cleanup old heartbeat transactions" Scheduled Script. Two properties have been added to control the retention for complete vs failed heartbeat transactions.
Two identifying headers are automatically added to every heartbeat message that is sent: the identifying message header
X-SND-EB-Message-Nameand the heartbeat indicator
As above. Heartbeat messages are sent only when the integration is active - this includes sending when the integration is paused.
Heartbeat transactions are not queued in the same way other transactions are queued in Unifi.
We've added some measures to help prevent integrations and other content from being created in the Unifi scope. This is disabled by by default in 3.1.2.
Response Actions can now make use of the headers which were provided with the response to an outbound request.
Failed heartbeat messages are ignored when repairing an integration.
To support heartbeat functionality, we allow transactions to be created and queued for sending when the integration is flagged as down, not just when it is manually paused by an administrator.
Customer global portal announcements will no longer be shown in the Unifi portal.
This is a performance improvement to the portal to prevent "scope changed" UI messages from being shown in the native platform view.
Numerous performance improvements made to the portal, including optimising widget dependencies, preventing global UI scripts from loading with every widget request, and reducing the use of $sp.getForm().
Addresses a bug with ServiceNow that allows all UI Scripts that are not "Desktop" to be downloaded with every widget request.
Fixed a bug with the portal when activating fields on a message which would have the button enabled then rapidly disabled and enabled again.
Updated the copy logic to remove field map references from fields that are copied between integrations. The user needs to specify which field map to use from the target integration.
Updated the Connection Test interface so that large response bodies are contained properly.
Fixed a bug with script fields not being editable in Designer when they were be the only thing on the page (.e.g. Message XML Template)
Fixed a bug with test assistant not properly updating the URL when porting tests between instances.
Fixed an issue with the about modal logo colour in Designer.
Fixed the record counter for Event Actions related list on Message in Designer.
Fixed an issue where creating a new Message from the list view in Designer would always result in a Message that was set to
async=trueinstead of it being controlled by the type of Message being created, e.g. response messages should not be async.
Improved the logic for displaying inbound endpoints on the Connections list in Designer so that similarly named API's are no longer shown (i.e. an API of
incidentwould also show inbound endpoints for an API of
When the property
glide.itil.assign.number.on.insertis set to true, numbers are not generated for Transaction and HTTP Request records on insert, but because we are adding ".01" to the end, the value was being populated as "null.01" and the number was never generated. We now account for this during record initialisation so numbers are generated correctly.
Fixed an issue where errors would be hidden if the payload was null or there was an error in the Reference lookup script on a Message. Errors are now shown correctly in Activity Logs.
When viewing a list of fields in the embedded list on a message in Designer, the Fields counter would show a different number of records than the number of fields actually shown. This was because of a query to show only table-related Fields. Now, all fields related to the table or no table at all are shown.
Removed "use strict" from two portal widgets because of incompatibilities with the Rhino engine and false errors being thrown from prototype based objects.