📜Solace 3.16.40
Release Date: Monday, August 24, 2026
Compatibility Notes
The following issues have compatibility implications:
Change Summary
Improvements
SOLACE-44
Warning when closing a solace based discovery connection
This release fixes an issue in which a Solace based discovery connection logs a warning indicating SOLCLIENT_SUBCODE_CANNOT_BLOCK_IN_CONTEXT
Bugs
SOLACE-49
ICR StandaloneReceiver crash in _solClient_smfParse on shutdown
An ICR Standalone Receiver could crash during a clean shutdown. The crash occurred inside the Solace client library, in _solClient_smfParse.
You are affected if you use the Solace binding for inter-cluster replication and have seen a receiver process die on shutdown. The crash typically left the final shutdown message unacknowledged, so it was often noticed the following morning instead: DR startup could fail with an unexpected transactionId error reported by the primary.
This has been fixed. No configuration change is required on upgrade.
A disconnect() method has been added to the ISolSession interface, symmetric with the existing connect(). Custom implementations of that interface, if any exist, will need to provide it.
Compatibility Notes
Areas of Impact: None
A disconnect() method has been added to the ISolSession interface, symmetric with the existing connect(). The bindings supplied with the platform implement it, so no action is required for normal use. A custom implementation of ISolSession, if one exists, must provide the method before it will compile against this release.
The JNI (CCSMP) binding requires a matching native library. The fix adds a nativeDisconnect JNI entry point, which is provided by the native library rather than by the Solace jar. Solace 3.16.40 must therefore be paired with the native release that carries that entry point. X Platform 3.16.41 ships native 3.16.87 and satisfies this automatically. Deployments that pin the native library independently must upgrade it alongside the Solace binding; the native library shipped with X Platform 3.16.39 does not provide the entry point, and the JNI binding will not link against it. The Java (JCSMP) binding is unaffected.
Last updated

