V7.19 Release 1-6-24

  1. The form designer left catalog is now tabbed, with a new tab added to access and manage a Form Template catalog of saved form designs.

  2. Fixed an issue introduced in the previous release that broke the logSdkResults() method in inline assembly JSP code, causing the code to not be compilable.

  3. Automation versions can now be visually “diffed” to compare differences, in the same manner that is done for assemblies.

  4. The HTTP and OAuth Transaction modules and their variants now have a setting that will strip all Unicode characters from the response. The default matches the current behavior, which is to preserve Unicode characters. The main purpose of the option is to provide an easy way to handle invalid XML characters received from the API being invoked, for rare cases where an API returns invalid XML due to not properly escaping Unicode characters.

  5. When an automation is deployed to multiple accounts, the system now uses a thread pool for improved performance. Previously the system used a single thread. A new “Max automation deploy threads” setting has been added to the Admin Console’s system settings screen.

  6. Previously the system would spawn webhook queue processing threads for all active webhook automations upon bootup. For systems having a large number of active webhook automations, these queue processing threads would place a phantom background load on the system’s CPU. The system now only creates these threads individually as needed when automations receive webhooks. The threads are terminated if they sit idle for an hour.

  7. In the Admin Console’s “automations” screen, when turning multiple automations on/off the server now performs that processing using a thread pool rather than a single thread, for improved performance.

  8. Added a “System booted (instant)” trigger to the System app. The trigger fires whenever the system starts.

  9. Added two new System app actions to implement flexible rate limiting within automation logic: “Rate limiter: create or update” and “Rate limiter: invoke”. See Rate Limits - APIANT

  10. Fixed incorrect empty output from the Data Streams - Join Nodes module when performing a Full Outer join and when the left data stream had no nodes that matched the Key datapath while the right data stream had matching key nodes.

  11. Greatly improved the performance of automation deployments. A test deployment that previously took almost 2 minutes now requires just 8 seconds.

  12. Fixed an issue with the VTD-XML parser wrapper code where setting node text would sometimes result in the new text being appended to the original text instead of it being overwritten.

  13. Datafiles and topics can now be manually deleted via the Datafiles dialog accessible via the account menu in the automation editor.

  14. The Action Output and Trigger modules now have a checkbox to force the default fields to always be emitted when configuring in the automation editor.

  15. The Admin Console has a new screen to monitor server-side JSP scripts that are running. The screen displays how long each JSP has been running, along with a button that can be used to halt a selected script.

  16. In the automation history screen, if an email alert is configured to be notified when an automation completes its processing and if the automation encounters an error, the alert email now contains the error message. If the error is to be auto-retried by the system, the alert email also indicates that. The recipient will receive an alert email upon the completion of each auto-retry attempt.

  17. For shared app connections, the UI now displays “(shared from system setup)” instead of just “(shared)” and “[shared from parent]” instead of just “[shared]”.

  18. Patched the server-side assembly execution engine with a fix to avoid very rare occasions where the assembly engine doesn’t halt after the last executed module finishes its processing, which in turn would cause automations to hang and never complete.

  19. Implemented performance improvements to the automation execution engine’s mechanism that searches its work queues to determine if work items are already queued or not.

  20. Polling automations are no longer placed into the engine’s pending queue of work when they are already there, to avoid duplication. This would commonly happen if the server exhausted its polling automation execution threads for long periods of times due to long-running automations.

  21. Fixed an assembly editor issue where if a diagram had zero wires and a module containing a nested submodule, the submodule would be rendered with its contents not visible.

  22. The System - Mutex Semaphore module has been deprecated and replaced with a new version that uses a proper distributed lock mechanism on the server via Hazelcast rather than using a database row as the locking mechanism. The module was originally built before the system used Hazelcast.

  23. The automation editor’s Connections screen is now tabbed. Tabs will appear when any shared connections are available from a linked parent account or the system’s setup account.