Release Notes: Solace PubSub+ Messaging API for JavaRTO, Version 10.7.0
Release History for Solace PubSub+ Messaging API for JavaRTO, Version 10.7.0
March 2024

Feature Disabled: Cut-Through Persistence (CTP)

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. This was introduced in 10.0.0.

New Features Introduced in Release 10.7.0 and Earlier Releases

This section lists the new features introduced in the Solace PubSub+ Messaging API for JavaRTO between releases 10.7.0 and 7.17.0.4.
NameDescriptionIntroduced in Version
JavaRTO API - Available for Mac M-Series Processors
The JavaRTO API now supports development and deployment on platforms that use MAC M-series processors.
10.6.0
CCSMP, JavaRTO, .Net API - Update API License Agreement
We have simplified the API license text and clarified that distributing work containing the Solace APIs is allowed.
10.6.0
CCSMP, JavaRTO, .Net API - Increase The Maximum Number Of SSLCerts
Applications can now load more than 64 SSL certificates using the API.
10.6.0
JavaRTO - Allow Context Thread Affinity To Be Set To A CPU Number Greater Than 64
The Messaging API for JavaRTO will now allow context thread affinity to be set higher than 64 CPUs.
10.5.0
JavaRTO - Provide Ability to NACK a Specific AD Message and Force Re-delivery
This feature enables client applications to NACK AD messages. The client applications can send a "Failed" NACK type to initiate a re-delivery of the message or a "Rejected" NACK type to move the messages to a DMQ.
10.5.0
JavaRTO API - Support for Partitioned Queues
This enhancement adds support for Partitioned Queues to the API. Partitioned Queues expand PubSub+ to provide deterministic, ordered, and non-exclusive message delivery for customers to scale the number of consumers when publishing ordered datasets. The ordered datasets are keyed to ensure all events in the dataset are sent to the same consumer without mis-ordering events.
10.4.0
JavaRTO API - Add Way to Update OAuth Token on Reconnection
This feature allows an application to automatically update the OAuth token without the need to create a new session the next time the API tries to reconnect.
10.3.0
JavaRTO - Samples Migration
The Messaging API for JavaRTO no longer packages samples as part of the distribution. Samples are available on the public samples repository https://github.com/SolaceSamples/solace-samples-javarto.
10.2.0
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)
The ability to configure Cut-Through Persistence has been removed.
10.0.0
Update the Version of zlib Used by C API
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.7.0 and Earlier Releases

This section lists the history of resolved issues in the Solace PubSub+ Messaging API for JavaRTO between releases 10.7.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 a 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.7.0 and Earlier Releases

This section lists the history of changed functionality in the Solace PubSub+ Messaging API for JavaRTO between releases 10.7.0 and 7.17.0.4.
Reference NumberDescriptionIntroduced in Version
SOL-95357
The API has been updated to decode "400 Invalid Queue or Topic Endpoint Durability" broker response.
For more information, see:
10.6.0
SOL-6669610.1.0
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, has been 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

Vulnerabilities Addressed in Release 10.7.0 and Earlier Releases

The following vulnerabilities have been resolved in the Solace PubSub+ Messaging API for JavaRTO between releases 10.7.0 and 7.17.0.4.

None

Known Issues in Release 10.7.0 and Earlier Releases

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

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

Supported Environments