IBM UrbanCode Deploy version 18.104.22.168 is a maintenance release and includes security related fixes. This release is recommended for all customers currently on the UrbanCode Deploy 7.0.x stream.
Upgraded to resolve security vulnerabilities.
This release only contains security fixes which are announced through security bulletins. More information can be found IBM Security Vulnerability Management document.
Known Problems and Workarounds
To search for additional post-release issues that IBM Rational Support documented, visit the IBM Support portal.
For supported platforms and requirements, see the reports that can be dynamically generated using the Software Product Compatibility Reports (SPCR) tool.
Note: Some supported plug-ins have system requirements that vary from the core product. Information on system requirements for individual plug-ins is available on the download page for that plug-in.
To get started quickly, IBM UrbanCode Deploy is shipped with an Apache Derby database. Apache Derby deployments are not supported for production environments. As you plan your production topology, review the installation guide.
Install the server
This release is available for download from Fix Central, requiring authentication. To locate a specific release, type the version number in the Search field.
Information for installing the server, see the Installing server section in the product documentation.
For information on installing licenses, see Managing Licenses.
To learn more about IBM UrbanCode Deploy, see the documentation.
To suggest an enhancement to the product, visit the RFE Community.
For information from support, including FAQs, visit the IBM Support portal. You can configure the support portal to view information about specific products.
UrbanCode Deploy upgrades for MySQL and MariaDB may have long delays due to changes to the vc_persistent_record table. To avoid delays run the following SQL statement before UrbanCode Deploy is upgraded:
alter table vc_persistent_record modify persistent_data longtext null, add compressed_data longblob null, lock=none. If this fails, the upgrade requires a longer amount downtime. The upgrade temporarily uses additional space rebuilding the table. To estimate upgradge time, first run the statement on a clone of the UrbanCode Deploy database. This delay does not occur on other supported databases.
For customers using Distributed Front End servers the setting installed.property setting
server.userIdAuthScheme.enabled must be set to ‘true’ in the backend to allow the frontend to authenticate with the backend UrbanCode Deploy instance.
UrbanCode Deploy now limits resolved property length to 1 billion characters and throws an exception if exceeded. 1 billion characters is the largest size that can be accommodated without risk of catastrophic performance problems on some JVMs. Lower values may be configured to limit memory consumption.
The 22.214.171.124 agent relay now uses a new proxy by default. Only HTTPS traffic can be proxied with this new proxy, but the relay has historically used HTTPS. If for any reason the relay needs to be able to proxy HTTP traffic then the old proxy can be enabled by including the following line in the relays
agentrelay.http_proxy.use_rabbit=true The new proxy can now support up to 10,000 connected web agents, although to reach maximum scalability, OS file descriptor and ephemeral port limits may need to be raised.
The “Show Inactive” legacy feature that is enabled via the “Enable ‘Show Inactive’ Links” option in the System Settings page will be removed after May 1st, 2020.
All users of the 6.2.x stream of Deploy should not that 6.2.x will be falling out of support in April, 2021.
Starting in 126.96.36.199
All customers should note that with the UrbanCode Deploy 188.8.131.52 release, we are officially announcing end of support for DB2 on z/OS on October 8th, 2020. Starting with 184.108.40.206, new installations of UrbanCode Deploy will not be able to use a DB2 on z/OS database. Servers upgraded to 220.127.116.11 can continue to use existing DB2 on z/OS databases, but those servers will not be eligible for support after October 8th, 2020.
Starting in 18.104.22.168
All customers should note that with the UrbanCode Deploy 22.214.171.124 release, we are officially announcing end of support for JMS Communication on June 11th, 2021. All users are strongly encouraged to upgrade to UrbanCode Deploy 7.x, and migrate to the new WebSocket communication.
With the addition of Maintenance Mode deployments that were scheduled to run while the server was down will no longer automatically execute upon the starting of the server.
During testing of UrbanCode Deploy 126.96.36.199, we experienced upgrade issues with version 5.0.8 of the MySQL driver. No other tested versions had this issue. If you are upgrading to UrbanCode Deploy 188.8.131.52, please verify that you have a recent version of the MySQL driver if that is the database of your choice.
Starting in 184.108.40.206
Users with the “Manage Security” permission will now be able to copy security roles. This functionality will make it easier for managing a large number of similar roles.
Starting in 220.127.116.11
All customers should note that with the UrbanCode Deploy 18.104.22.168 release, we are officially announcing end of support for Java 6 and Java 7 with our 22.214.171.124 release in June, 2020.
UrbanCode Deploy now supports Java 11, and as part of that support we upgraded the version of Groovy we support from 1.8.8 to 2.4.15. If you have customer plugins that statically reference the groovy libraries shipped within the UrbanCode product, you will need to update those references or else your plugin steps will fail on newly installed agents.
For customers who are planning to upgrade to Java 11: If you choose to move off of Oracle Java and move to AdoptOpenJDK, you will need to modify the set_env file to remove the “endorsed dir” entry, as it is not supported in the AdoptOpenJDK JVM.
Also, we would like to let our customers know that in our testing we discovered that users who are using MariaDB can no longer use MySQL drivers due to a change between MySQL and MariaDB. Please ensure you are using the correct database drivers.
Starting in 126.96.36.199
UrbanCode Deploy 188.8.131.52 introduces the concept of Agent Configuration Templates (which are used in migrating agents from JMS communication to the new WEB communication). This upgrade did not grant the System Team access to Agent Configuration Templates. Users will need to grant these permissions to if users on that team wish to access the functionality.
It should also be noted that some of the servers code station metadata has been migrated to the database. Specifically, it is the content of the $APPDATA/var/repository/ptr directory. This stores the association between component versions and artifact blob files. This resolves some server-side performance issues that negatively impacted relay codestation cache cleanup. The old data files are preserved without modification to support upgrade rollback. However, they are not updated going forward. This means that a later rollback would break new, post-upgrade version artifact associations (blobs files would remain but would be inaccessible).
Starting in 184.108.40.206
UrbanCode Deploy 7.0 introduces new functionality that allows you to add process change management to your deployment processes. This functionality is still in BETA, and we are actively looking for customer feedback. If you would like to access a cloud instance of UrbanCode Deploy, to use and provide feedback without having to set it up, please reach out to your IBM representative and let them know!
UrbanCode Deploy 7.0 also introduces new server/agent communication protocols.
- For new installations of the Deploy server users will be prompted for additional information unconditionally (all new installs will default to the web socket protocol).
- When installing new Deploy agents, users will be asked for their preference, either JMS or web sockets. The default is web.
- When upgrading the Deploy server, the user will be prompted for additional information to support the web socket protocol, however, no agents will change communication protocols as part of the upgrade.
- An interactive (manual) upgrade of an agent will also prompt for new information to support the web sockets protocol. Upgrading through the web-ui will upgrade existing agents and keep them on the current server/agent communication (JMS)
- It should be noted that in all scenarios, UrbanCode Deploy supports running both the new agent communication (web sockets) with the older model (JMS) in parallel.
Starting in 220.127.116.11
API-breaking changes have been made to the supported REST endpoints that set properties in UrbanCode Deploy, affecting the following endpoints:
Any scripts that need to set properties on components, agents, the system, processes, process requests, applications, or environments will need to be adjusted. Previously, the request parameters could be specified on the command line as parameters, but now we no longer accept request parameters for security reasons. Instead, the correct behavior now is now to pass a JSON file containing the specified parameters with the command. Consult the documentation for the new syntax.
Also, because of these API changes, the plugins that set properties in UrbanCode Deploy are not backwards compatible. In the following list of plugins, any plugin version before the version listed is not compatible with UrbanCode Deploy 18.104.22.168 or later, and and any plugin version after the version listed is not compatible with 22.214.171.124 or earlier. On upgrading to UrbanCode Deploy 126.96.36.199, the plugins will automatically be updated to a supported version. However, using old versions of processes that are locked in snapshots or downgrading the UrbanCode Deploy plugin version may cause steps to fail.
|Plugin||188.8.131.52+ compatible versions|
|IBM UrbanCode Deploy Applications||77+|
|IBM UrbanCode Deploy Components||71+|
|IBM UrbanCode Deploy Environments||77+|
|IBM UrbanCode Deploy Resources||74+|
Starting in 184.108.40.206
Starting the server for the first time may take longer than usual. For very large installations, allow an extra hour for the first server startup. Subsequent startups will take the regular amount of time.
Users now do not receive notifications based on their membership in a role on the System Team. Users will have to be added to the correct role on a different team as well to receive notifications.
The server now deletes all contents of the var/temp directory on server startup.
Starting in 220.127.116.11
Process requests from deleted environments will now be deleted. To keep process requests from deleted environments, add this property to the installed.properties file: com.urbancode.ds.cleanup.HistoryCleanup.disableDeletedEnvironmentCleanup=true
Starting in 18.104.22.168
The UCD_SESSION_KEY header has been renamed to UCD_CSRF_TOKEN. The previous name is also accepted until 6.3 when it will be removed from the product.
Users now require the “Execute” permission on agents in order to run processes against them. All existing user roles will receive this permission when upgrading from a version before 22.214.171.124. When upgrading, ensure that any user that needs to execute processes is on the same team as the agents required to run those processes.
Starting in 126.96.36.199
You must upgrade Agent Relays when upgrading from a version below 188.8.131.52. Also, the TLS protocol 3DES is no longer supported.
After upgrading from before 184.108.40.206, users will not be able to view or delete agent relays until they have been granted permission to those relays. Relays that existed before the upgrade are only added to the System Team by default. For users to view agent relays, a user with Manage Security permission should give the correct roles the new For relays that existed before the upgrade, a user with Manage Security permissions will have to add the agent relays to the correct teams and give the correct roles the Agent Relay view and edit permissions.
When upgrading an IBM UrbanCode Deploy agent, end-to-end JMS encryption will automatically be enabled on all agents. In order for agent communication to function properly with end-to-end encryption enabled, the IBM UrbanCode Deploy server and agent clocks need to be synchronized to within a few minutes. To disable this feature, add the line
agent.jms.disable_full_encryption=true” to the agent’s
conf/agent/installed.properties file before upgrading the agent.
Starting in 220.127.116.11
If you are upgrading from version 18.104.22.168 and earlier, servers and relays must be upgraded at the same time. Agents connected through relays may not connect successfully until both server and relay are upgraded. This is due to an incompatibility between versions of an library used by UrbanCode Deploy.
Starting in 22.214.171.124, authentication tokens will be obfuscated in the UI and REST API after their initial creation. Scripts and users will only be able to retrieve the full authentication token immediately after creating it.
The silent install of the IBM UrbanCode Deploy server hangs when prompting for the value of the server installation directory (
install.server.dir). To workaround the problem, run the following instead of calling
echo "" > answerFile.txt echo "" >> answerFile.txt ./install-server.sh < answerFile.txt (or install-server.bat < answerFile.txt for Windows installations)
Starting in 126.96.36.199
The IBM UrbanCode Deploy server and agent relays now require a Java Runtime Environment (JRE) or Java Development Kit (JDK) version 8. If you are updating or changing the JRE to the latest version, see
Changing or updating the JRE of servers and Updating the JRE location for agent relays for instructions. For documentation on the IBM JRE, see IBM SDK, Java Technology Edition.
Starting in 188.8.131.52
To ensure that all secure property values are obscured, the values of all properties in the history for existing deployments are obscured. In the deployment history for deployments that you run after you upgrade, only secure properties are obscured in the logs.
New security features erase old component version import logs to hide secure information. If you want to keep the logs, in the installed.properties file, set the com.urbancode.ds.cleanup.sourceConfig.fullCleanupSkip property to true.