Upgrade information

Starting in 7.2.3

As part of IBM™ UrbanCode™ Deploy v7.2.3 and v7.2.3.1, the Windows service names for agents are no longer customisable by end-users. The names are auto-generated by the IBM UrbanCode Deploy server. We recently discovered that the naming convention of auto-generated Windows service names does not follow the IBM naming convention standards. We are providing and that generates the Windows service names correctly.

Note that the ifixes does not provide the ability for users to define the service name. The name is auto-generated with the correct format.

We strongly discourage customers from upgrading Windows agents with the now pulled back 7.2.3 and versions. Please use the ifix releases only. If you have already upgraded your Windows agents with original releases, reach out to support to find how to remediate it.

Note the following changes when you upgrade to this version:

Removed $productName/java.home from agent
The $productName/java.home property is removed from agent properties file. Upgraded agents are compact agents that does not require Java home property.
Updated the sshInstallAgent/installNewAgent CLI endpoint as POST request
For security purposes, the sshInstallAgent/installNewAgent CLI endpoint is updated to post the install agent informaton without the sshPassword.

Starting in 7.2.2

The agent relay property agentrelay.http_proxy.use_rabbit=true introduced in V7.0.5 is now obsolete and deprecated.

Starting in 7.2.1

Announcing end-of-support for WinRS

All our customers should note that starting May 2022, IBM UrbanCode Deploy will deprecate WinRS as a supported utility, formally ending our WinRS support.

IBM Java not bundled

In the v7.2.0 upgrade note, Java 8 end-of-support was announced. It is to be noted that IBM Java (JRE/JDK) will not be bundled with IBM UrbanCode Deploy v7.2.1.0 and later.

If you are using the bundled JRE, you need to migrate to the other supported runtimes. For supported runtimes, refer to the documentation or software compatibility report.

To know about JRE migration procedure, refer to the IBM community blog.

Starting in 7.2.0

Announcing end-of-support for Java 8

All customers should note that we are officially announcing end-of-support for Java 8 starting June, 2022. Additional information on alternative Java platforms will be communicated later.

Note: Customers using IBM UrbanCode Deploy on the z/OS platform, please follow the IBM statement of direction.

End-of-life for JMS communication

Agents and relays that use the JMS communication protocol will no longer be able to connect to the IBM UrbanCode Deploy server. Agents and Relays will need to be migrated to the Web communication type in order to connect. You can use agent configuration templates to migrate from JMS communication to web communication.

Starting in

Updated the sshInstallAgent/installNewAgent CLI endpoint as POST request
For security purposes, the sshInstallAgent/installNewAgent CLI endpoint is updated to post the install agent informaton without the sshPassword.

Starting in 7.1.1

JMS agents when connected to the server in your environment, a warning message is displayed. You are prompted to begin the migration of JMS agents to a web format. See Migrating Agents to Web for more information.

A new version of Hibernate, v5.4.20, is included. Hibernate v5.4.20 may require newer versions of the JDBC driver in order to function properly. Ensure that you have a driver version of at least 4.2 that works with your database to be compatible with Hibernate v5.4.20. This upgrade also removes the hibernate.dialect property from the installed.properties file as the new Hibernate version itself determines the dialect.

All our Mainframe customers should note that with the IBM UrbanCode Deploy release, we are officially announcing end of support for HFS codestation as an Artifact Repository on May, 2021. All users are strongly encouraged to migrate to the IBM UrbanCode Deploy’s in-built artifact repository Codestation. They can also migrate to supported third party artifact repositories ArtifactoryTM or NexusTM (supported from version 7.0.5)

Starting in

The Safari browser is no longer supported. The Chrome, Firefox, or Edge can be used.

The Show Inactive option has been removed. You cannot view inactive objects in their respective tables. The Active field is still included in the JSON representation of objects and now reflects whether or not the object has been deleted. Logging information is now written to deployserver.outinstead of the stdout file.

Starting in

IBM 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 IBM 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 IBM 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 IBM UrbanCode Deploy instance.

IBM 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 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.properties file: 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 should note that 6.2.x will be falling out of support in April, 2021.

Starting in

All customers should note that with the IBM UrbanCode Deploy release, we are officially announcing end of support for DB2 on z/OS on October 8th, 2020. Starting with, new installations of IBM UrbanCode Deploy will not be able to use a DB2 on z/OS database. Servers upgraded to 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

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 version 7.0.3, 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 IBM UrbanCode Deploy 7.0.3, verify that you have a recent version of the MySQL driver if that is the database of your choice.

Starting in

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

All customers should note that with the IBM UrbanCode Deploy release, we are officially announcing end of support for Java 6 and Java 7 on February 17th, 2020

IBM 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

IBM UrbanCode Deploy introduces the concept of Agent Configuration Templates which are used in migrating agents from JMS communication to the new WEB communication. This upgrade does not grant the System Team access to Agent Configuration Templates. Users 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

IBM 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!

IBM 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

API-breaking changes have been made to the supported REST endpoints that set properties in UrbanCode Deploy, affecting the following endpoints:

  • setAgentProperty
  • setApplicationProperty
  • setComponentEnvironmentProperty
  • setComponentProperty
  • setEnvironmentProperty
  • setResourceProperty
  • setSystemProperty
  • setVersionProperty

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 or later, and and any plugin version after the version listed is not compatible with or earlier. On upgrading to UrbanCode Deploy, 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 compatible versions
IBM UrbanCode Deploy Applications 77+
IBM UrbanCode Deploy Components 71+
IBM UrbanCode Deploy Environments 77+
IBM UrbanCode Deploy Resources 74+

Starting in

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

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

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 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

You must upgrade Agent Relays when upgrading from a version below Also, the TLS protocol 3DES is no longer supported.

After upgrading from before, 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

If you are upgrading from version 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, 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 ./install-server.sh directly:

echo "" > answerFile.txt echo "" >> answerFile.txt ./install-server.sh <
        answerFile.txt (or install-server.bat < answerFile.txt for Windows

Starting in

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

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 feature erases 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.