Release History for Solace PubSub+ Messaging API for JavaRTO, Version 10.0.0
May 2022

Feature Disabled: Cut-Through Persistence (CTP) in JavaRTO

Solace Cut-Through Persistence (CTP), also known as Cut-Through Messaging, has been deprecated with plans to remove this functionality from all Solace Products starting May 31, 2022. Note that Solace Cloud does not support CTP.
CTP has been deprecated in the following releases:
PubSub+ Event Broker 10.0.0
CTP has been removed in the following releases:
PubsSub+ Messaging API for JavaRTO 10.0.0
Please verify that your organization does not use CTP by typing "show message-spools stats" in the command line interface of your PubSub+ event broker and check that "messages delivered cut-through = 0". If your organization is using CTP, please contact Solace at support@solace.com.

New Features Introduced in Release 10.0.0 and Earlier Releases

This section lists the new features introduced in the Solace PubSub+ Messaging API for JavaRTO between releases 10.0.0 and 7.17.0.4.
NameDescriptionIntroduced in Version
Add JavaRTO to Maven
The JavaRTO API is now available for download via Maven to make importing and usage of the API in client applications easier.
10.0.0
Feature Disabled: Cut-Through Persistence (CTP) in JavaRTO
The ability to configure Cut-Through Persistence has been removed.
10.0.0
Update the Version of zlib Used by CCSMP
The zlib library inside Solace PubSub+ Messaging API for C/JRTO/.Net API has been updated to version 1.2.11.
7.21.0.5
OAuth/OIDC Support in Messaging API for CCSMP/.NET/Java RTO
OAuth / OpenID Connect has been added as a method of authenticating and authorizing clients connecting to the PubSub+ Event Broker using the SMF protocol. Clients using Solace APIs will be able to present a token as a credential during client login. This enables clients to integrate with modern identity and access management systems.
7.21.0.5
Mutable Topics To Allow Re-Use Of Topics For Less Garbage Collection
Introduced Mutable Topics which allows Topics to be reusable. A Topic can be created using a byteBuffer as opposed to a String which is immutable and therefore GC eligible.
7.20.0.6
Increase the Maximum Number of Messages in a Transaction
This feature increases the transaction scaling limits to allow up to 20,000 messages (consume plus publish) in a single transaction. The previous limit was 256 messages. To use this feature, you must upgrade your PubSub+ Event Brokers to Release 9.8.1 or later.
This feature is a Controlled Availability feature. Solace recommends that before you enable this feature on your event broker, contact Solace to review your use case. Solace will work with you to verify that the feature is suitable for production use in your environment.
7.19.0.30
Add an alternative to String Objects for Subscription names to avoid garbage collection
Added the ability to pass a java.nio.ByteBuffer to SessionHandle interfaces that manage subscriptions (like subscribe() and unsubscribe()). Also, added new interfaces to manage On Behalf Of (OBO) subscriptions that accept a java.nio.ByteBuffer. These changes were made to avoid creating Strings which are immutable and subject to Garbage Collection (GC).
7.17.0.4

Issues Resolved in Release 10.0.0 and Earlier Releases

This section lists the history of resolved issues in the Solace PubSub+ Messaging API for JavaRTO between releases 10.0.0 and 7.17.0.4.
Reference NumberDescriptionResolved in Version
SOL-48297
The C API has a potential memory leak when making a TLS connection. If the socket-open or socket-connect fails, due to bad parameters in the HOST property, then a TLS allocated memory block is not released.
7.19.0.30
SOL-45065
The API can occasionally throw an segmentation fault when running on iOS and with SSL enabled. This is due to a race condition between the Solace context thread performing operations and OpenSSL freeing its global static pointers in its "atexit" handler.
7.18.0.2

Changed Functionality in Release 10.0.0 and Earlier Releases

This section lists the history of changed functionality in the Solace PubSub+ Messaging API for JavaRTO between releases 10.0.0 and 7.17.0.4.
Reference NumberDescriptionIntroduced in Version
SOL-38309
JavaRTO unzips the CCSMP binary into the JDK temp folder at runtime. To change the default temp directory, "java.io.tmpdir" can be used. READ/WRITE access to this directory is required.
10.0.0
SOL-46105
The API will no longer perform Topic validation and will instead rely on the Broker to reject invalid topics. This change prevents memory allocation and garbage collection in some success paths by avoiding calls to .trim().
7.20.0.6
SOL-50410
Solace Cut-Through Persistence (CTP), also known as Cut-Through Messaging, is being deprecated with plans to remove this functionality from all Solace Products starting May 31, 2022.
Please verify that your organization does not use CTP by typing "show message-spools stats" in the command line interface of your PubSub+ event broker and check that "messages delivered cut-through = 0". If your organization is using CTP, please contact Solace at support@solace.com.
7.20.0.6
SOL-45498
The format of reply-to topics has changed. The reply-to topic used by the API's request/reply helper methods used to be of the form:
#P2P/v:routerName/clientUsernameHash/clientName/#
The trailing # has been replaced with an underscore _ such that the topic is now of the form:
#P2P/v:routerName/clientUsernameHash/clientName/_
The suffix of a reply-to topic set with the setReplyToSuffix() method is also now prefixed with the underscore _ character.
7.17.0.4
SOL-46088
Method ClientName.getByteBufferRep(ByteBuffer) has been renamed to ClientName.getAsBytes(ByteBuffer)
7.17.0.4

Known Issues in Release 10.0.0 and Earlier Releases

This section describes known issues in the Solace PubSub+ Messaging API for JavaRTO between releases 10.0.0 and 7.17.0.4.

None
For more details, refer to the Release Notes page for the individual Solace Messaging APIs.

Supported Environments