V7.14 Release 3-18-23

  1. Fixed an issue where the system upon bootup was sometimes not able to compile module libraries that were custom to individual tenants.

  2. Colons after UI element labels have been removed throughout the system, to help reduce visual complexity.

  3. Fixed an issue where the “Parse CSV” action would prepend “A_” to column names for CSV files exported from Excel due to hidden special characters.

  4. The “notify when done” email now includes the automation owner’s name and email in the subject if the delivery email is different from the automation owner’s email.

  5. The admin console’s Subscription Plan details dialog now includes the ability to define subscription settings. When defined, subscription settings appear as a menu option in the automation editor’s Account menu.

  6. In the admin console’s System Settings screen and in the Subscription Plan details dialog, searches now match on both labels and values, instead of only labels.

  7. Step numbers are no longer displayed by default in automation diagrams or in the action field mapping popover. To display them, right-click on the automation editor’s background and choose the “show step numbers” menu option. When enabled, step numbers will also appear in the automation history graphical view.

  8. The “display form waiting message” action now has an input field to define halt button text. When entered, the form will display a button with the specified text that can be used to immediately halt the automation’s processing.

  9. Automation action field mappings can now select mappable data fields from Loops to emit the current loop iteration number and the total number iterations to be performed.

  10. Fixed an issue in the automation editor with the vertical sorting of action settings in lists where if the mouse button was released over the dragged view, the view was not being released.

  11. For systems that have subscription plans defined, the UI no longer fetches all subscription plan information from the server and instead just fetches the plan info for the signed-in account. This is mainly a performance optimization, especially now that subscription plans can have settings defined per #5 above.

  12. When a subroutine is saved after output fields are added/removed, then when the “execute subroutine” action is edited in the calling automation and fields are refreshed and saved the output field changes are now reflected when mapping output fields emitted by the “execute subroutine” action.

  13. Extensive code refactoring has been done to the UI code that bootstraps the UI, fetches any previously saved account info in a browser cookie, and auto-signs in the account. As a result of all the code changes, previously working UI bootstrap functionality may have become broken. Please report any UI functionality that has become broken in this release to support@apiant.com.

  14. When an automation containing a form trigger is deployed to another account, for 2nd and subsequent deployments any trigger form design changes are now deployed to the destination account(s).

  15. The system now limits the amount of automation version history kept to under 100MB, to avoid database errors when saving automations due to a configured MySQL limit. When an automation is saved and that limit is exceeded, version history becomes pruned starting from the oldest versions (except for the initial version).

  16. Fixed an issue with automation dashboard gear menus where they would sometimes jump around when opened if the browser window size was narrow.

  17. The OAuth Transaction and OAuth Multipart POST modules both now have a setting to return the API response as text, the same as already exists for HTTP Transaction modules. This is useful when a raw JSON response is needed.

  18. In the Admin Console’s app catalog screen, added a View Accounts button that can be used to list all accounts that are using the app in any automations.

  19. The system app’s “serialize automation execution” action now works for subroutines.

  20. Code refactoring has been done to the UI code that handles communication to the server. The UI now does a better job displaying messages when server communication is lost and restored.

  21. Fixed an issue where using the single-click “copy this item” option for conditionals and loops in the automation editor was appending them to the copy buffer, such that multiple items would subsequently be pasted instead of just the copied conditional or loop.

  22. Under the automation editor’s Manage gear menu, when using the “view accounts deployed to” option the dialog now has checkboxes to control if deleted automations or automation from inactive accounts are included in the results.

  23. The system now maintains files that keep track of when modules having Java implementations were last compiled, so the system can now determine when Java implementations need to be compiled instead of always compiling all of them. The admin console’s System Compile screen now has a checkbox next to the Compile Server Module Libraries button that can be used to force compile all module Java implementations.

  24. After automations are deployed, the information dialog now lists all automation names and numbers that were deployed.

  25. In the automation history screen, the “back to” hyperlinks have been moved to the header after the automation name, which is the same location as it appears in the graphical automation history, for consistency.

  26. The conditional “is valid email” logic test in automations now takes into account if the email’s domain has an MX record by making a network call, which catches additional invalid email addresses beyond the limitation of the previous syntax-only validation that was being performed.

  27. Fixed an issue where data-mapped action settings (not action fields, but the settings that appear above the fields) would have invalid field mapping references after the automation was published to production, deployed to other accounts, or exported and then imported.

  28. Fixed an issue with automation history search results where sometimes the results were not correctly ordered by date.

  29. Fixed an issue where the list of mappable data fields for action settings (settings appear above data fields in the action setting dialog window) would be empty except for the “system values” fields.

  30. The “System” app now has an “automation alert in this account” instant trigger that fires when any automation in the account reports an alert.

  31. When drilling into nested subroutines in the graphical automation history, nested subroutines are now opened in new tabs within the same dialog window, rather than opening multiple dialog windows.

  32. If the JavaScript code for the Transform Data’s “evaluate JavaScript expression” action returns a null value, the system now converts that to an empty string instead of a runtime null pointer exception occurring.

  33. Fixed an issue with the form multi-select list element that caused mapped input array values to not be displayed.

  34. The automation editor will no longer allow an automation to be saved if all of its actions are disabled.

  35. If the data to be substituted by the JSON Builder module (and its variant modules) in an assembly contains a matching “VAL” value (e.g. if “VAL7” is being substituted with a value of “testing VAL7”), the module will not perform a nested substitution (such that the final value will be “testing VAL7” instead of “testing testing VAL7”).

  36. The system’s strategy for invoking the Java garbage collector has been revised in an attempt to minimize the system’s peak RAM usage when under heavy load.

  37. The system’s auto-retry schedule has been adjusted so that the first retry occurs after one minute, instead of starting after 15 seconds then 30 seconds. This is b/c when under heavy load it can take a minute or longer for Lucene to ingest and index the data needed to perform the retry. In addition, the automation engine will now wait up to 5 additional minutes upon each auto-retry and keep trying to fetch the needed data from Lucene, rather than immediately reporting an error and aborting all subsequent auto-retries for the failed transaction.

  38. Fixed an issue when replacing actions in the automation editor via the right-click “replace” option where if the action was located in a conditional branch the replacement was not performed.

  39. Fixed the UI library so it won’t strip XML node content that contains only whitespace when parsing XML strings. This was causing problems such as when actions in the automation editor were copied, pasted, or moved such that field mappings containing only spaces were being stripped.

  40. The contents of disabled conditionals and loops in the automation editor are now made visible when the search is made visible, so that any search matches within them can be viewed.

  41. When searching for actions by name in the automation editor, the UUID of the action assembly can now be entered as a search query. This is useful when actions have been renamed in the automation diagram.

  42. The 3rd-party ACE code editor has been updated to its latest version.

  43. Fixed an issue introduced a couple of releases ago where sometimes the Stream Inspector and popovers in the graphical automation history would remain empty and not display data. Was due to a race condition with the system loading iframe content, where the problem would randomly occur.

  44. When replacing actions in the automation editor via the right-click “replace” option, the editor now preserves the action’s error handling setting instead of the replacement action always being configured to “halt on any error”.

  45. In the graphical automation history view, when inspecting the output data for an action if an action field emits an array of multiple values the field name now has “(array)” appended to help identify the field’s output as being an array of values. This change only applies to newly processed data going forward.

  46. When a trigger form is configured to display a “next” action form, the Human Interaction “display form waiting message” actions can now be used to display progress messages until the first form action is displayed.

  47. Fixed a UI issue where in Firefox content listed in popovers would be clipped if a horizontal scrollbar was visible.

  48. Newly written automation logs going forward are now stored as encrypted ZIP files on the server’s filesystem.

  49. In the automation editor, when mapping action fields and the “show only mapped fields” checkbox is checked, the editor now displays a count at the top of the screen of how many fields are currently mapped.

  50. The UI tabs control will now automatically scroll tabs to the rightmost position when new tabs are opened, so that the opened tab is visible.

  51. Fixed a rendering issue with conditional lines in automation diagrams where the lines would sometimes not be long enough if the first item in a true/false branch was a nested conditional.

  52. Automation and batch job logs are now initially written in a working subdirectory, then ZIP’ed and moved into their final directory. This was done as a performance optimization for cases where automations generate thousands of log files b/c it would take significant time for the system to determine which logs in the directory needed to be ZIP’ed.

  53. The automation form “Text Literal Multiline” element now has “Auto Width” and “Auto Height” checkboxes. When checked, the control’s width/height is automatically set to be the width/height of the entered text.