7.1.0

This release of IBM UrbanCode Deploy is a maintenance release and includes various bug fixes and enhancements. This release is recommended for all customers.

Deployment triggers

On the Environment configuration page, you can configure deployment triggers on an environment. The deployment trigger causes the specified App Proc Request to run whenever a specified component imports a new version. This results in deploying the newly imported version automatically to all environments that have configured triggers.


This feature replaces the run process after version import functionality on a component.

External approval process

The external approval process is a pre-deployment process that allows or prevents the deployment from running based on the status of the external approval process. The process runs on an agent and has access to all plug-in steps. This feature can be used for or reaching out to change management systems. Access to the feature is on the Environment Configuration page under Require approvals.

Server cluster management improvements

Server to server communication now uses the new websocket communication technology. Front end servers are now displayed on the Networks tab. Additionally, connectivity status for all servers in a cluster can be viewed on the Networks tab.

Resource tree performance improvements

The performance when loading many resources has been improved.

Merge z/OS Version

Incremental z/OS versions can be consolidated into a single version. The most recent files are kept and older files of the same name/extension are replaced by the most recent version. Only version that follow the new z/OS package format can be merged. Merge versions can be accessed through the Snapshots page.

Deployment Wizard

The new Deployment Dialog page improves the process of requesting an application. The page includes four sections: Process + property selection, version selection, scheduling, and review. The final review section allows you to verify all inputs before starting your deployment.

Enhancements to containers

The following enhancements added to UrbanCode Deploy containers.

  • Kubernetes Operator Models for Agent, Relay, and Server
  • Helm V3 support (no need for Tiller!)
  • You can now configure the file system group ID used when accessing persistent storage required for deployment of the UrbanCode Deploy server, agent and agent relays.  This support is important for multi-cloud environments where the persistent storage support may differ in implementation and require the use of a specific file system group ID.
  • The Openshift plug-in now supports OpenShift Container Platform 4.x. In addition, new plug-in steps have been added to provide a complete integration scenario.

Fixes

A cumulative list of fixes in this release, and any future fix packs can be found in the Fixlist document.

PH25819 WHEN USING JAVA 11 NOTIFICATION EMAILS ARE NOT SENT
PH24868 EDITING CONFIGURATION ON AGENT RESOURCES FROM A NON-ADMIN ACCOUNT FAILS WITH THE ERROR ‘TX IS NOT ACTIVE’
PH24747 MERGING INCREMENTAL ZOS COMPONENT VERSIONS FAILS WITH XMLSTREAMEXCEPTION
PH24083 BINARY CONFIG ZOS AGENTS FAIL TO RESTART AFTER THE UPGRADE
PH23051 “INHERIT TEAMS FROM PARENT” ON RESOURCE TREE KEEPS TEAMS EDITABLE
PH22980 When creating a component, the DIALOG DOES NOT ALLOW USERS TO ASSIGN THE CORRECT TEAMS IF CREATING FROM A TEMPLATE
PH22889 Removing entry in Cluster Members Configuration required restart of other servers in cluster
PH22782 TOPOLOGY SYNC DOES NOT EXCLUDE GHOSTED AGENTS
PH21970 COMPONENT DEPLOYMENT HISTORY CLEANUP RECORDS END DATE NEVER SET
PH21828 COMPONENT PROCESS PROPERTY’S SECURE VALUES ARE OUTPUT AS ***** IN PLACE OF TEXT WHEN RUN VIA APP => COMPONENT => RUN PROCESS
PH21351 VALIDATION FOR COMPONENT PROCESS NAME IS FAILING DUE TO TAB CHARACTER.
PH20030 UNABLE TO ADD THE VERSION STATUS WITH “/” IN THE NAME TO A COMPONENT VERSION
PH19492 LARGE NUMBER OF APPLICATION TEMPLATE VERSIONS MAKES LOADING THE COMBOBOX VERY SLOW TO SELECT VERSION FOR EDITING APPLICATION
PH19472 UPGRADE OF UCD FAILS IF THE ‘MANAGE PROPERTIES’ PERMISSION ALREADY EXISTS ON THE ‘UC AUTO DISCOVERY’ ROLE
PH19280 COMPONENT PROCESS SAVED WITH PROCESS TYPE THAT REQUIRES INVENTORY STATUS IS ABLE TO BE SAVED WITHOUT INVENTORY STATUS
PH19199 ARTIFACT UPLOAD FAILS DUE TO FAILURE TO DELETE TEMPORARY STAGING DIRECTORY
PH17403 URBANCODE DEPLOY SNAPSHOT ADD COMPONENT VERSION FILTERING NOT WORKING.
PH17107 UCD database is growing quickly with JMS Agent records in the VC_PERSISTENT_RECORD TABLE
PH16457 “INSTALL TEMPLATE” OF UCD CONFIGURATION MANAGEMENT PLUGIN GIVES NULLPOINTER WHEN NO CONFIG TEMPLATE IS PRESENT
PH08897 RUN PROCESS AFTER A VERSION IS CREATED WILL RUN THE PROCESS AS ADMIN AND CANNOT BE RESTRICTED
PH01547 LONG VERSION NAMES CAN NOT BE DELETED FROM THE COMPONENT VERSIONS SELECTION
PH91434 PH91434 UCD WINDOWS SERVICE START FAILS: ‘…JAVA.LANG.UNSATISFIEDLINKERROR: RCL_IBMRATL (NOT FOUND IN JAVA.LIBRARY.PATH)’
PH163236 LAUNCHING PROCESSES SLOW ON DB2
PH157054 COMPONENT OR APPLICATION PROCESS DESIGN PRINT PREVIEW GIVES BLANK TAB IN BROWSER IE11

For fixes contained in this release, and any known issues, click the Release Notes tab.

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 Fix Central, requiring authentication.

Information for installing the server, see the Installing server section in the product documentation.

For information on installing licenses, see Managing Licenses.

Learn

To learn more about new enhancements in this release, click the What’s New tab.

To learn more about IBM UrbanCode Deploy, see the documentation.

For help installing or using IBM UrbanCode Deploy, post your questions in the forums or contact support.

To suggest an enhancement to the product, visit the RFE Community.

Get support

For information from support, including FAQs, visit the IBM Support portal. You can configure the support portal to view information about specific products.

Starting in 7.1

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 7.0.5.0

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 upgrade 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 7.0.5.0 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 of Deploy should not that 6.2.x will be falling out of support in April, 2021.

Starting in 7.0.4.0

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

All customers should note that with the UrbanCode Deploy 7.0.3.0 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 7.0.3.0, 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 7.0.3.0, please verify that you have a recent version of the MySQL driver if that is the database of your choice.

Starting in 7.0.2.1

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 7.0.2.0

All customers should note that with the UrbanCode Deploy 7.0.2.0 release, we are officially announcing end of support for Java 6 and Java 7 with our 7.1.0.0 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 7.0.1.0

UrbanCode Deploy 7.0.1.0 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 7.0.0.0

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 6.2.7.1

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

Starting in 6.2.5.2

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 6.2.5.1

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 6.2.5.0

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 6.2.5.0. 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 6.2.4.0

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

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

If you are upgrading from version 6.2.3.0 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 6.2.3.0, 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 installations)

Starting in 6.2.2.0

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 6.2.1.1

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.