[MQ 9.3.1 Oct 2022]

What's changed in IBM MQ 9.3.1

Before upgrading your queue managers to the latest product version, review these changes to functions and resources since IBM® MQ 9.3.1 and decide whether you must plan to make changes to existing applications, scripts, and procedures before starting to migrate your systems.

Client application changes
Command and configuration changes
Installation and migration changes
Security changes

Changes to IBM MQ .NET Standard client libraries

From IBM MQ 9.3.1, the existing IBM MQ .NET (amqmdnetstd.dll) and XMS .NET (amqmxmsstd.dll) .NET Standard libraries have been moved to a new location in the IBM MQ client installation package. These files are now available in the following locations:
  • [Windows]On Windows: MQ_INSTALLATION_PATH\bin\netstandard2.0
  • [Linux]On Linux®: MQ_INSTALLATION_PATH\lib64\netstandard2.0

[Deprecated]From IBM MQ 9.3.1, a new warning CS0618 is thrown to an application during compile time when IBM MQ .NET Standard libraries are referenced to the application. The IBM MQ .NET Standard libraries are deprecated, and IBM intends to remove them in a future IBM MQ release.

If a .NET Framework application is compiled using amqmdnetstd.dll or amqmxmsstd.dll from a version lower than IBM MQ 9.3.1 and the same application is run using the .NET 6 based IBM MQ client libraries, then the following FileLoadException type of exception will be thrown by .NET:
Exception caught: System.IO.FileLoadException: Could not load file or assembly 
'amqmdnetstd, Version=x.x.x.x, Culture=neutral, PublicKeyToken=23d6cb914eeaac0e' or 
one of its dependencies. The located assembly's manifest definition does not match the 
assembly reference. (Exception from HRESULT: 0x80131040)

File name: 'amqmdnetstd, Version=x.x.x.x, Culture=neutral, 
PublicKeyToken=23d6cb914eeaac0e' 

To resolve this error, the libraries present in MQ_INSTALLATION_PATH/bin/netstandard2.0 must be copied to the directory from where the .NET Framework application is running.

For more information, see Installing IBM MQ classes for .NET and Installing IBM MQ classes for XMS .NET.

[z/OS]

Changes to the RECOVER CFSTRUCT command

From IBM MQ 9.3.1, RECOVER CFSTRUCT processing has been changed to make use of 64 bit storage instead of 31 bit storage. If you are likely to issue the command for structures that contain more than a few million messages you should increase the MEMLIMIT parameter in the relevant queue manager's JCL by 500MB.

For more information, see Queue manager storage configuration.

[IBM MQ Advanced VUE][IBM MQ Advanced]

Changes to the output of the fteDisplayVersion command

Before IBM MQ 9.3.1, the output from the fteDisplayVersion command included components that MFT does not use. From IBM MQ 9.3.1, these components are no longer included in the output. For more information, see fteDisplayVersion (display installed version of MFT).

Changes to the features that are supplied with the mqweb server

The mqweb server is a WebSphere® Liberty server that is used to support the IBM MQ Console and REST API. From IBM MQ 9.3.1, the WebSphere Liberty features that are supplied with the mqweb server are reduced to only those that are required to run, secure, and monitor the IBM MQ Console and REST API. This significantly reduces the size of the installation files for the mqweb server.

Change to SSLCIPH property for AMQP channels

From IBM MQ 9.3.1, AMQP channels support ANY* generic CipherSpecs. For more information, see Configuring AMQP clients with TLS and Enabling CipherSpecs.

Change to spelling of Java system property used by Managed File Transfer

Before IBM MQ 9.3.1, the name of this Java system property that Managed File Transfer uses when checking if a user has specified a file containing the initial key that should be used for encrypting and decrypting credentials was misspelled in the product code as com.ibm.wqmfte.cred.keyfile.

From IBM MQ 9.3.1, the spelling of the property name is corrected to be com.ibm.wmqfte.cred.keyfile. Managed File Transfer uses both versions of the Java system property when checking if a user has specified a file containing the initial key that should be used for encrypting and decrypting credentials. This allows you to use the correct spelling of the property name, while maintaining backwards compatibility with the old misspelled name. Note that if both Java system properties are set, then the value of the correctly spelled property com.ibm.wmqfte.cred.keyfile is used. For more information, see Protecting passwords in IBM MQ component configuration files.

MQIPT requires closeClassLoader Java security manager permission to use exits

From IBM MQ 9.3.1, if IBM MQ Internet Pass-Thru (MQIPT) is configured to use a certificate exit or a security exit, and is also configured to use the Java security manager, an additional permission is required in the Java security manager policy file. Alter the MQIPT Java security manager policy file to grant a java.lang.RuntimePermission with a closeClassLoader permission target.

For more information about using MQIPT with the Java security manager, see Java security manager in MQIPT.