Universal Controller 7.8.0.0 Release Notes
Release Notes
Universal Controller release 7.8.0.0 contains the following high-level features. For a complete list of all the included features and fixes, please refer to the Universal Controller 7.8.x Maintenance list.
Universal Controller 7.8.0.0 requires Tomcat 10.1.x for deployment with either Java 17 or Java 21.
Tomcat 8.5 (EOL) and Tomcat 9 are no longer supported.
Java 11 is no longer supported.
Architecture
Backlog | Title | Description |
|---|---|---|
B-02980 | PostgreSQL "Database Type" for Database Connections. | From the Database Connection form, a new PostgreSQL option is available from the Database Type drop-down. When selected, the form will be pre-populated with a template Connection URL and a Driver for PostgreSQL. |
B-21288 | PostgreSQL support for Universal Controller database. | Universal Controller now supports PostgreSQL for its database. Set |
B-06851 | Deliver Universal Controller release as a Docker image. | Universal Controller releases are additionally now provided in the form of a Docker image. |
B-20247 | Add TLS SNI Headers for OMS Clients | OMS Servers can now use TLS SNI. You can specify the OMS Server Address using the following format: <hostname/ip>:<port>:<SNI hostname> Port and SNI hostname fields are optional. |
B-21487* | Additional failover configuration options | Additional uc.properties configuration properties were introduced to allow more granular configuration of Universal Controller failover engagement. These are advanced properties and should only be modified under the guidance of support. |
Auditing
Backlog | Title | Description |
|---|---|---|
E-02127 | Change History | You can now enforce the specification of a Change Description when modifying a record. Three system properties have been added to toggle and manage this functionality.
You can view Change History for a particular record from the Metadata section. See Properties for specifications. |
B-20741 | Add Promotion Description to Promote Bundle… and Promote… operations. | You can now specify a Promotion Description when promoting via a bundle or directly. The Promotion Description is displayed from both the Promotion History and Promotion Schedule. |
Configuration / Management
Backlog | Title | Description |
|---|---|---|
B-20711 | Controller boundaries - Fetch limits | The maximum value you could set for the following Properties was historically unbounded, as long as it did not exceed the maximum integer value.
To allow system administrators more control over managed Universal Controller instances, the following uc.properties properties were introduced to customize the upper boundary of the above properties, respectively.
See Properties for specifications. |
B-20712 | Backup and Purge override setting | You can now specify a maximum value for the Days Older Than of a Data Backup/Purge configuration. Three new uc.properties have been added:
See Properties for specifications. |
B-20713 | Remove the "No time-constraint" option from Lists | You can now restrict which options are available from Time Constraint selection drop-downs. New uc.properties have been added:
See Properties for specifications. |
Conversions
Backlog | Title | Description |
|---|---|---|
B-13151 | Run criteria - Global Evaluate At option (move from Variable only) | Task Run Criteria: You can now use the Evaluate At option for non-variable run/skip criteria, allowing you to push all evaluation to Run Time evaluation. Previously, Evaluate At was only available for variable run/skip criteria. |
B-17973 | Monitor Task Return Codes | The Use Exit Code On Failed field has been added to Monitor forms to specify if the Monitor will end in a Success status with Exit Code 255 as an alternative to going into a Failed status. |
B-20702 | Function: Return Nth Weekday of Month | For this, and all other functions, refer to the Functions user documentation. |
B-20703 | Function: Return Nth Day of Week in Month | For this, and all other functions, refer to the Functions user documentation. |
B-21141 | Function: Return Nth Day of Week in Month (Advanced) | For this, and all other functions, refer to the Functions user documentation. |
B-21142 | Function: Return Nth Weekday of Month (Advanced) | For this, and all other functions, refer to the Functions user documentation. |
B-21392 | Add new built-in variable: ${ops_avg_duration} | For this, and all other built-in variables, refer to the Built-In Variables user documentation. |
B-21485 | Add splitPreserveAllTokens parameter to Delimited Value functions to support empty delimited values. | A new optional parameter,
If |
Dependency Modernization
Backlog | Title | Description |
|---|---|---|
B-20611 | Add support for Tomcat 10.1.x, and drop support for Tomcat 8.5.x and 9.x. | Universal Controller 7.8.0.0 requires Tomcat 10.1.x for deployment. We have dropped support for Tomcat 8.5 (EOL) and Tomcat 9 as there is a significant breaking change with Tomcat 10.x: specifically, the Java package used by the specification APIs has changed from javax to jakarta. Furthermore, Spring Framework / Security 6 requires a minimum of Tomcat 10. |
B-20612 | Drop support for Java 11. | We have dropped support for Java 11, as Spring Framework / Security 6 requires a minimum of Java 17 at runtime. |
B-20613 | Add support for Java 21. | In addition to support for Java 17, Universal Controller now supports Java 21. |
B-20614 | Spring Framework / Spring Security integration and migration from 5.x to 6.x. | Universal Controller has modernized its integration with Spring Framework / Security by migrating to Spring Framework 6. Spring Framework 6 requires a minimum of Java 17 at runtime, as well as a minimum of Tomcat 10 (for Jakarta EE 9 compatibility). |
B-20666 B-21365 | User Interface framework migration from 12.1p to 14.1p. | We have migrated our User Interface framework to a version compatible with Jakarta namespaces, a requirement for deploying with Tomcat 10. |
B-20667 | GWT dependency updated from 2.9.0 to 2.12.0. | Universal Controller GWT Web Toolkit dependency has been updated to 2.12.0. |
B-20700 | SLF4J dependency updated from 1.7.x to 2.0.16. | To align with other Universal Controller dependencies that have moved to SLF4J2, the Simple Logging Facade for Java has been updated from 1.x to 2.x. Universal Controller continues to use Apache Log4j 2 as its logging implementation; however, as part of this release, logging associated with the Platform Log Level property is now consolidated into the uc.log. The Apache Log4j 2 dependency also had a minor update from 2.21.1 to 2.24.3. |
B-21291* | Update Apache Commons DBCP (from 2.8 to 2.12) & Apache Commons Pool (from 2.9 to 2.12) | Our Database connection pooling dependencies have been updated to apply bug fixes and enhancements. |
B-21397 | Upgrade Jakarta Mail dependency to Angus Mail. | Angus Mail is the direct successor of JavaMail/JakartaMail. This update relates to breaking the tight integration between Jakarta Mail Specification API and the implementation. |
Secrets Management
Backlog | Title | Description |
|---|---|---|
B-21551* | Add HashiCorp Vault credential provider parameter(s) for path prefixes. | The HashiCorp Vault credential provider will now use the MOUNT_PATH provider parameter to set the prefix path depth automatically so that the "data" qualifier is injected into the path at the proper location. For example, if MOUNT_PATH is specified as
If the MOUNT_PATH provider parameter is not specified, then the path prefix depth of SECRET_PATH is assumed to be 1. |
B-21552* | Add HashiCorp Vault credential provider parameter(s) for namespace feature (Vault Enterprise). | The NAMESPACE provider parameter will be added to support specifying a HashiCorp Vault namespace . If the NAMESPACE is specified, then the X-Vault-Namespace header will be set for both authentication and read requests. Final paths for all requests will be relative to the header value. For example, the final path given the provider parameters below would be:
Requires Vault Enterprise or HCP Vault Dedicated cluster. |
Web Service API
Backlog | Title | Description |
|---|---|---|
E-02096* | Task Instance Read (Full Record) | You can now read the full details of a specified task instance through the Task Instance Read Web Service API. |
B-21145* | Task Instance List Advanced - Ability to exclude task instance Output | You can now specify |
B-21262* | Task Instance List / Task Instance List Advanced - Ability to specify Sort field/order | You can now sort task instances by a specified field ( |
B-21296 | Additional Fields for Global Variable READ | New read-only properties have been added to Global Variables: |
B-21376* | Task Instance List / Task Instance List Advanced - Add templateId/templateName | The The List Task Instances Advanced Web Service now supports |
B-21527* | Task List / Task List Advanced - Reduce the number of queries | Optimizations were made to reduce the number of fetches, under certain circumstances, for both the List Tasks and List Tasks Advanced Web Services. |
D-12713 | Task output retrieval does not verify STDOUT was received. | This not a feature, but is noted in the release notes as it has a backwards compatibility impact. In prior releases, if
|
Workload Analytics / Observability
Backlog | Title | Description |
|---|---|---|
B-20714 B-20715 | Monitoring for both licensed monthly executions and total monthly executions. | You can now view statistics for both licensed monthly executions and total monthly executions. Previously, you could only view licensed monthly executions. From the System Details widget and metrics, you can now see:
See Licensing for more details. Clicking on the report icon next to Licensed Monthly Executions will display the built-in UAC - Licensed Monthly Task Instance Executions report, where as, clicking the report icon next to Monthly Executions will display the built-in UAC - Monthly Task Instance Executions report. You can also run these built-in reports directly from Reports. Additionally, a new Monthly Executions gauge metric, uc_monthly_executions, was introduced that returns the total number of completed (Success or Finished) task instance executions for the current month by given type and status. |
B-20716 | Prometheus - Universal Agent Status Gauge | A new Universal Agent Status gauge metric, uc_agent_status, has been added to externally monitor the status of registered Universal Agents. |
B-20717 | Prometheus - Active Task Instances Gauge | A new Universal Controller Active Task Instances gauge metric, uc_task_instance_active, has been added to externally monitor the number of currently active instances by a given status. A sample visualization of this metric is shown below. |
B-20718 | Prometheus info available locally on disk | Support for configuring Universal Controller to write Prometheus metrics to file. As a best practice, the Monitor Web Service should be used for scraping metrics. This is an advanced configuration and should only be used in exceptional cases and under the guidance of support. |
B-21337* | Add the associated User Id (Username) to logging for large / long running queries. | To aid in debugging long running queries, Universal Controller will now log the User Id (Username) along with the query information, for example: 2025-03-31-14:18:44:465 -0400 INFO [http-nio-9090-exec-2 @@14:17:24.237578900-Q] (User: john.doe) Query took 1 Minute 2.718 Seconds to prepare & execute and 5.318 Seconds to process results. Total time: 1 Minute 13.268 Seconds SQL: <SQL_query> Parameters: [<SQL_parameters>] |
B-21379 | Prometheus - Upgrade Java client from 0.12.0 to 1.3.3 | Some Prometheus metric names were not compliant with the OpenMetrics specification. The following metrics have been renamed:
|