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
On Windows: MQ_INSTALLATION_PATH\bin\netstandard2.0
On Linux®: MQ_INSTALLATION_PATH\lib64\netstandard2.0
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.
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]](ngzos.gif)
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]](ngadvvue.gif)
![[IBM MQ Advanced]](ngadv.gif)
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.