Store Swiftlet: Supports now composite transactions for durable subscribers and stores messages only once.
JDBC Store Swiftlet: Supports now composite transactions for durable subscribers.
Network NIO Swiftlet: New configurable option to use direct (native) buffers.
JavaMail Bridge Swiftlet: Added "imaps", "smtps" as supported protocol types.
Starting from his release SwiftMQ requires JDK 1.5 or greater.
Store Swiftlet: Attribute "group-commit-delay" has been removed.
Store Swiftlet: New default "initial-page-size" is now 25600 pages (50 MB).
Store Swiftlet: transaction.log is now preallocated with a size given in attribute "checkpoint-size" plus an extension of 25% (about 13 MB total per default).
Store Swiftlet: The router will now be stopped via System.exit in case of an IOException (e.g. full disk).
Threadpool Swiftlet: Default for pool "jms.session", attribute "max-threads" is now 100.
JSSESocketFactory: Now performs setSoTimeout before starting SSL Handshake.
JMS Client: MessageConsumer.receive(timeout) will not timeout anymore during a transparent reconnect.
JMS Client: Removed dom4j dependencies.
All scripts: Increased max heap size to -Xmx1024M.
All scripts: Removed the JSSE related jar files (now included in the JDK).
TopicManager: Using a counter-based subscription id leads to huge array creation and GC activity (= slowdown of the whole router) when continuously connecting/disconnecting with a large number of subscribers.
JMS Client: Duplicate backlog size is not decreased when closing a consumer and may cause an OutOfMemory error if consumers are created and closed very often on long-running connections.
JMS Client: ConnectionConsumer: Duplicate detection may remove message in case of transaction rollback during a failover and redelivery.
Configuration compatible with previous releases: 4.5.0 (routerconfig.xml will be converted on the first startup)
Class compatible with previous releases: 5.1.0 (see release notes of release 5.1.0).