7.1.1.0.iFix01

This release replaces the Urbancode Deploy version 7.1.1.0 release. It includes all updates made in the 7.5.0.3 release. Version 7.1.1.0 has been removed and not available to download. If you have installed version 7.1.1.0, install this iFix to prevent potential problems.

Loading component table
The following error message is displayed when the component table attempts to load information about a component that is currently importing a version.

com.urbancode.ds.web.rest.mappers.RuntimeExceptionMapper -
java.lang.String cannot be cast to [Ljava.lang.Object;
java.lang.ClassCastException: java.lang.String cannot be cast to
[Ljava.lang.Object;
at
com.urbancode.ds.subsys.deploy.config.ComponentFactory.getCompon
entDetails(ComponentFactory.java:578)
at
com.urbancode.ds.web.rest.config.ComponentResource.getComponents
WithDetails(ComponentResource.java:386)
at
com.urbancode.ds.web.rest.config.ComponentResource_$$_jvst492_3.
_d44getComponentsWithDetails(ComponentResource_$$_jvst492_3.java
)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

7.1.1.0

Version 7.1.1.0 release is a maintenance release and includes the following bug fixes and enhancements.

Key Features and Enhancements

Processes as code
Application and component processes can now be modeled in the new custom Process as Code (PAC) format.

You can use the bundled Process-as-Code Compiler to convert existing processes into the PAC format and then modify them using your text editor. The modified PAC files can then be translated and uploaded back into the server for use in your deployments.

The PAC utility, which includes a detailed guide to the new syntax, can be downloaded from the dashboard. Click Help > Tools > Process-as-code Compiler to download.

Tag management
The Settings tab now includes a Tag page that facilitates central management of all tags that have been created on the UrbanCode Deploy server. Users with the new Manage Tags permission can edit the name, color, and description of existing tags. When a tag is modified from the Tag page it is modified on all objects that are tagged with the tag.
Email approvals
Users who are assigned to an approval task can follow a URL in the email notification they receive to approve the task. The URL links to a mobile responsive page that allows the user to only review, and approve or reject the specified task.
CLI enhancements
This release continues the extension of the CLI API began in previous releases. Several actions that previously could only be done in the web UI can now be done using the API. These actions includes activities like importing and exporting objects, deleting objects, and removing users from roles.
Redesign of the Get Started page
The revised Get Started page can now be accessed from the Help menu or by clicking the UrbanCode Deploy segment of the navigation bar. This page includes quick links to documentation, tutorials, release notes, and more.
License usage improvements
License configuration has moved from the System Settings view into a new License Management page. The new License Management page is where the license server connection and automatic agent license type can be configured. After a connection is made, information is displayed about the available licenses and license consumption.
Usage metrics for a license server now includes consumed versus available metrics.

Fixes

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

7.1.1.0.iFix01

PH31361 COMPONENT LIST WILL NOT LOAD IF A COMPONENT THAT WOULD SHOW UP
ON THE TABLE IS CURRENTLY IMPORTING A VERSION.

7.1.1.0

PH29644 AUTH TOKENS ARE NOT ACCEPTED FOR REST METHODS WITH DUPLICATE QUERY PARAMETERS.
PH28841 SNAPSHOT NOT DEPLOYING CORRECTLY WHEN APPLICATION VERSION PRESET IS SPECIFIED
PH27920 UCD SERVER INCORRECTLY SHOWS UNLICENSED DESPITE THE LICENSE SERVER HOSTING AN ‘IBMUCD_SS_AGENT_Z’ LICENSE
PH26573 THE DATABASE PASSWORD IS VISIBLE ON CONSOLE DURING UCD INSTALLATION AND MIGRATING DB FROM DERBY TO OTHER DATABASES.
PH24278 FROM AN APPLICATION PROCESS, A RUN COMPONENT PROCESS’S IGNORE FAILURE PROPERTY MAY DISPLAY UNCHECKED EVEN WHEN CHECKED
PH20874 MAINFRAME (ZOS) AGENT IN DIFFERENT TIMEZONE THAN SERVER INCORRECTLY REPORTS LASTMODIFIED TIMESTAMP OF RESOURCES

RFEs

  • Tag details displayed for CLI resources
  • API Command for Exporting/Importing Components and Applications
  • API to edit description fields of system properties and agents
  • CLI to modify PropDefs in component templates
  • CLI to Remove a Role from team member
  • CLI to delete application and component
  • CLI to retrieve properties associated with an Application Process Request
  • CLI to set and change the basic properties on Component
  • Update tags and central management location for tags

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

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 that works with your database and is 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.

As a reminder: JMS agents will no longer be supported in the upcoming June 7.2 release. From 7.1.1 onward the server UI will warn about the upcoming end-of-support date if JMS agents are connected to the server. Starting in 7.2 JMS agents will no longer be able to connect to the server and will have to be migrated to the Web format.

All customers should note that with the UrbanCode Deploy 7.1.0.2 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 Deploy’s in-built artifact repository Codestation. They can also migrate to supported third party artifact repositories ArtifactoryTM or NexusTM (supported from UCD 7.0.5)

Starting in 7.1.0.0

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 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 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 on February 17th, 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.