13.2.0
Updated Runtime Environment
SwiftMQ now ships with GraalVM Community Edition 25.0.1, based on OpenJDK 25, which is a long-term support (LTS) release.
This update provides:
Improved runtime performance through enhanced JIT and AOT optimizations
Reduced memory footprint (compact object headers) and faster startup times
Updated Java language features and standard library improvements
Continued compatibility with existing SwiftMQ configurations and applications
SwiftMQ now uses -XX:+UseCompactObjectHeaders by default.
Removed Components / Functionality
XStream
For a long time, XStream, the library used to transform Java objects (POJOs) to and from XML, has caused issues due to multiple Common Vulnerabilities and Exposures (CVEs).
XStream is a reflection-based framework built for Java 11, and although SwiftMQ never directly used the vulnerable code paths, we were repeatedly forced to issue new releases in response to these CVEs.
Therefore, we have decided to remove XStream entirely from SwiftMQ dependencies, along with all SwiftMQ components that relied on it.
The affected components are:
queryProperties()of the Filetransfer ClientThe filesystem JNDI provider
Export/import of messages in XML format (Queue Manager Swiftlet)
Changed Components:
Persistent MQTT Sessions now use JSON instead of XML. Older XML session data is automatically skipped.
ConfigWatchDog
When enabled, this component monitored routerconfig.xml for changes. However, this could lead to race conditions with system Swiftlets and Flow Director flows that dynamically create queues — these queues could be unintentionally deleted by ConfigWatchDog.
This is an architectural issue: all configuration changes must originate from the Management Tree, which then updates routerconfig.xml.
For this reason, the ConfigWatchDog component has been removed.
Bug
SWIF-136 IllegalStateException during Stream stop
SWIF-321 Store Swiftlet: Free-page pool duplication during ensure()
Task
SWIF-25 Remove XStream dependency
SWIF-215 Remove queryProperties() from Filetransfer client due to XStream dependeny
SWIF-216 Remove filesystem JNDI provider due to XStream dependency
SWIF-217 Changed MQTT session store to JSON, due to XStream dependency
SWIF-218 Removed export/import as XML due to XStream dependency
SWIF-135 SwiftMQ Client/Jakarta: Upgrade JLine to 3.30.6 (fix CVE-2023-50572)
SWIF-214 Upgrade to GraalVM CE 25.0.1 (JDK 25 LTS)
SWIF-320 Remove ConfigWatchdog entirely