Release Notes for Solace PubSub+ Messaging API for .NET, Version 10.17.0
March 2022

Deprecation: C/JRTO/.Net API Cut-through Persistence (CTP)

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.

New Features Introduced in Release 10.17

This section lists the new features in the Solace PubSub+ Messaging API for .NET, Release 10.17.
NameDescriptionIntroduced in Version
Support New Major Version of .Net 6.0
This feature adds support for .NET 6.0 (LTS).
10.17.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.
10.16.0
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.
10.16.0
Support New Major Version of .Net 5.0
Added support for major version upgrade of .NET to 5.x. Removed BinaryFormatter.Serialize() as this was deprecated and marked as "unsafe" by .NET.
10.15.0
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.
10.13.0

Issues Resolved in Release 10.17

This section lists the resolved issues in the Solace PubSub+ Messaging API for .NET, Release 10.17.
Reference NumberDescriptionResolved in Version
SOL-61365
The API leaks the CorrelationKey object when the batch send function(ISession.Send(IMessage\[], ...)) fails to send any messages in non-blocking mode.
10.17.0
SOL-59595
Due to a translation error between the .NET API and the underlying C API, TransactedSessionProperties.OperationTimeoutInMsecs() will display a warning and not adjust the timeout.
Workaround:
Use TransactedSessionProperties.SetCCSMPProperty("TRANSACTEDSESSION_REQUESTREPLY_TIMEOUT_MS", "10000");
"10000" is a string that contains the desired timeout.
10.16.0
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.
10.13.0
SOL-44717
Modifying the logging level of the .NET API after initializing the API does not modify the logging level of all API components.
10.12.0
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.
10.12.0
SOL-46604
The .NET API's Subscribe and Unsubscribe methods for both Sessions and Flows should be thread safe but are not.
10.12.0

Changed Functionality in Release 10.17

This section lists the changed functionality in the Solace PubSub+ Messaging API for .NET, Release 10.17.
Reference NumberDescriptionIntroduced in Version
SOL-57871
Classes that extend BaseProperties (and its children), and relied upon the base class to perform a deep-copy now need to override the .clone() method. This change was introduced to follow BinarySerializer security best-practices. For more information, see: https://docs.microsoft.com/en-us/dotnet/standard/serialization/binaryformatter-security-guide.
10.15.0
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.
10.12.0

Known Issues in Release 10.17

This section describes known issues in the Solace PubSub+ Messaging API for .NET, Release 10.17.
Reference NumberDescription
SOL-26213
Deliver-to-one override does not work when subscribing on behalf of, or on endpoints.
Original bug: Bug 67409
For more details, refer to the Release Notes page for the individual Solace Messaging APIs.

Supported Environments