-
The system now supports subroutines within automations. A subroutine is functionally the same as using the “execute automation” action with “wait to complete” enabled. The main differences are that subroutines have defined inputs and outputs, and when viewing the graphical automation history clicking the “execute subroutine” action will open up a window to drill into the subroutine’s processing of the transaction. Also, when a parent automation invokes a subroutine, the subroutine executes immediately with no consideration for concurrency. Multiple automations that invoke the same subroutine at the same time will result in multiple copies of the subroutine executing at the same time. A new catalog of subroutines appears on the left side of the automation builder screen. Click the “create a subroutine” button at its top to start a new subroutine. The empty subroutine will consist of a “subroutine input” trigger and a “subroutine output” action. For both of these, edit their settings to configure their fields. Subroutines can contain any logic, including nested subroutines, snooze actions, and human interaction actions. Use the “System” app’s “execute subroutine” action to invoke a saved subroutine. Right click on subroutines in their catalog to access operations that can be performed upon subroutines.
-
The countdown timers for polling automations in the dashboard and history screens are now more accurate.
-
When the “eye” icon of a mapped action field is clicked, the mapped action is now highlighted in the list.
-
When an automation is imported or deployed, its concurrency limit and other attributes that were present in the export are now loaded.
-
The Account Data screen can now be sorted by date. Click the column title to change the sort direction.
-
The “Dump account data” option in the automation editor’s dashboard gear menus under “Processing” has been moved to the dashboard’s right click context menu, where the “Manage account data” menu option is located.
-
The “Dump automation data” option in the automation editor’s dashboard gear menus under “Processing” has been renamed to “Dump stored data”, to mirror the “Inspect stored data” option.
-
The “Manage Account Data” and automation “Stored Data” screens have been both similarly redesigned so that the data can be sorted by date by clicking on the column header. Also, all columns can now be searched together via query fields at the top of each column.
-
Due to ActiveMQ consuming too much RAM, Hazelcast message queues are now being used instead. A hidden system config flag is currently in place to switch between Hazelcast and ActiveMQ. At some point ActiveMQ will be removed from the system if Hazelcast proves to be a better option. Message queues are used to receive and route inbound webhooks for instant triggers.
-
Hazelcast is upgraded to its latest v5.0 release. As a result, its management console embedded into the Admin Console provides much improved functionality.
-
The system now has multilevel alert message mapping functionality. Alert messages can be matched by regular expressions and replaced with alternate text. The regex mappings can be defined at three levels in the system. The lowest level is on individual automation triggers and actions via their right-click context menus. Automation-level mappings are defined via their gear icons in the dashboard, under Processing → Alert handling → Alert mappings. System-level mappings are defined in a new Alert Mappings screen. The same UI is used to define mappings in all three places in the system. See the provided help text in the screens for more information about this functionality.
-
The system now includes the latest version of the Amazon AWS Java SDK for Java, v1.12.85.
-
Fixed an issue where the assembly editor would restore the previous session of saved tabs before the user responded to the dialog asking them to restore the session or not.
-
Modified the recently added JSON parser so it throws exceptions when parsing invalid JSON, rather than converting the malformed JSON into valid JSON.
-
Fixed the Transform Date “modify and reformat date time” action so that when a Unix epoch time is input and the “timezone offset seconds” is set to either ACCOUNT or ACCOUNT_UTC the offset is now applied.
-
Automation history can now be searched to find executed action step numbers within conditionals, allowing data to be searched by its processing path through automations having conditional logic. Enter the action step number in the query field, without the leading “#”. Searching by executed action step numbers is only supported for newly processed data going forward.
-
The automation history screens have a new dropdown filter option to view successes and errors together.
-
The automation history screens now show total counts of matching executions and data rows at the bottom of the screen.
-
In the automation builder, if one or more items are selected the right-click context menu will now show “disable selected items” or “enable selected items” based on the enabled/disabled state of the first selected item.
-
The 3rd-party ACE editor has been upgraded to its latest version. This editor is primarily used for editing inline JSP/PHP code in assemblies.
-
The mouseover Input/Output data viewer popovers in the graphical automation history now use the code editor to view the data, primarily so that the data can now be searched.
-
Automation logs no longer write the top-level assembly name with each line of output generated by modules. Also, actions no longer dump the trigger data row being processed. Instead, inspect the output of the trigger to view the data row being processed by actions. These changes were made in order to reduce log storage space and associated costs.
-
The 3rd-party ChartJS library has been upgraded to its latest version. This library is used to render the task history bar chart in the automation editor dashboard.
-
A group of action items can now be copy-pasted in the automation editor. Right click on an action item and choose the “Select this and all items below” option. Then right-click on the editor’s background and choose the “copy selected items” option. Then click a “+” icon destination and choose the “paste items” option. The copied items can also be pasted into other automations and subroutines.
-
Automation conditional and assembly editor conditions for the “equals” and “not equals” operators now attempt to perform a numeric comparison rather than only a string comparison. This fixes situations such as when “0” was not considered equal to “0.0”.
-
The assembly editor has a new setting (in the Settings menu at the top right) that controls the scroll speed of the diagram when modules and wires are dragged. The default speed of 1 is now slower than the previous speed of 3.
-
When automations are imported, if a new automation is being created then copies of all trigger and action settings are now made instead of the imported automation referring to the original trigger and action settings.
-
The Account Data, Two-Way Sync Data, and Automation Data screens in the automation editor no longer perform fuzzy matches when searching for column data. Instead exact case-insensitive matching is now performed by default. To perform wildcard matching, use asterisks in the search text. These changes were made to improve performance.
-
When the system executes scheduled polling automations, it now waits a random period of time up to 15 seconds before actually placing the automation into the work queue. This is to handle systems with many hundreds of polling automations, where the placing of them into the work queue was placing a high load on the system, especially the database.
-
Fixed automation history so it won’t show a status of “Queued for execution” when the automation really isn’t in the work queue but rather was put into the queue and then was never executed, typically as a result of a system reboot. In this case the history will show a status of “Queued but not executed”.
-
When editing an automation, if an action displayed an error about having unmapped fields and was deleted, the editor now allows the automation to be saved (assuming no other problems remain) rather than displaying an error message about an action having missing field mappings.
-
Worked around a UI framework bug in the automation editor that would cause the list of action field mappings to not be fully scrollable, instead it would infinitely scroll on the same fields when about halfway down the list. The problem only occurred when configuring actions that had lots of fields dynamically fetched via the “Fetch data fields…” button.
-
The automation history screens (not the graphical history) have a right-click context menu option to export the viewed data as a CSV file.
-
The top-level automation history screen has a new right-click context menu option to export the viewed data plus the related data rows (that would be accessed in the next drill-down screen) as a CSV file.
-
In the automation builder, when using the “find items mapped to this” functionality (by right-clicking on triggers and actions) the editor now shows navigation buttons to select each mapped item and to automatically scroll it into view.
-
When automations are imported in the automation editor’s dashboard, if a folder is selected the imported automations will be placed into that folder.
-
The Data Rows - Loop and Data Rows - Conditional Loop modules now have a delay setting to pause for a specified number of milliseconds between iterations. The reason for adding is for embedded HTTP modules where too many iterations too quickly can cause API rate limit errors.
-
Extensive caching is now performed by the server to optimize performance and reduce database load.
-
When using the Delete All functionality in the Account Data and Automation Data screens in the automation editor, the delete confirmation dialog now requires doing a long-press of the button in order to confirm the delete b/c it is a destructive delete that cannot be undone.
-
The Collector “dump items from bucket” action now dumps items in the order they were stored.
-
There is a new “Copy step number” right-click context menu option when clicking on items in automation editor diagrams, both when editing automations and when viewing the graphical automation history. This is useful when needing to search automation history to find where a certain conditional path is taken.