[rabbitmq-discuss] RabbitMQ 2.4.0 Release
Alexandru Scvortov
alexandru at rabbitmq.com
Wed Mar 23 11:14:47 GMT 2011
The RabbitMQ team is delighted to announce the release of RabbitMQ
2.4.0.
This release fixes a number of bugs and introduces some enhancements,
including fast routing for topic exchanges, sender-selected distribution
and server-side consumer cancellation notifications.
See the attached release notes for more details.
Binary and source distributions of the new release can be found in the
usual place at http://www.rabbitmq.com/download.html
We recommend that all users of earlier versions of RabbitMQ upgrade to
this latest release.
As always, we welcome any questions, bug reports, and other feedback on
this release, as well as general suggestions for features and
enhancements in future releases. Mail us via the RabbitMQ discussion
list at rabbitmq-discuss at lists.rabbitmq.com, or directly at
info at rabbitmq.com.
Regards,
The RabbitMQ Team
-------------- next part --------------
Release: RabbitMQ 2.4.0
Release Highlights
==================
server
------
bug fixes
- in a cluster, don't fail with an internal-error when re-declaring a
queue on a connection to a node other than the queue's "home" node
- in a cluster, report a not-found error instead of internal-error
when attempting to re-declare a durable queue whose node is
unavailable
- do not ignore the RABBITMQ_LOG_BASE variable on Windows
- fix a bug causing SSL connections to die on Erlang prior to R14
when using "rabbitmqctl list_connections" with the SSL options
- various minor fixes
enhancements
- greatly speed up routing for topic exchanges with many bindings
- propagate memory alarms across cluster, thus reacting better to
memory pressure on individual nodes.
- sender-selected distribution (i.e. add support for the CC and BCC
headers). See
http://www.rabbitmq.com/extensions.html#sender-selected-distribution
for more information.
- server-side consumer cancellation notifications. See
http://www.rabbitmq.com/extensions.html#consumer-cancel-notify
for more information.
- have the server present its AMQP extensions in a "capabilities"
field in server-properties. See
http://www.rabbitmq.com/extensions.html#capabilities
for more information.
- determine file descriptor limits accurately on Windows, usually
resulting in much higher limits than previously, which allows more
connections and improves performance
- indicate in the logs when the file descriptor limit has been reached
(causing the server to not accept any further connections)
- allow SASL mechanisms to veto themselves based on socket type
- rename rabbitmq.conf to rabbitmq-env.conf, to avoid confusion with
rabbitmq.config
- improve performance of publisher confirms
- various other minor enhancements and performance improvements
java client
-----------
bug fixes
- prevent stack overflow when connections have large numbers channels
- do not require a working reverse DNS when establishing connections
enhancements
- ConnectionFactory accepts a connection timeout parameter
- allow prioritisation of SASL mechanisms
- support for server-side consumer cancellation notifications
- have the client present its AMQP extensions in a "capabilities"
field in client-properties
- rename ReturnListener.handleBasicReturn to handleReturn
.net client
-----------
bug fixes
- WCF bindings specified in configuration files are no longer ignored
enhancements
- support for server-side consumer cancellation notifications
- have the client present its AMQP extensions in a "capabilities"
field in client-properties
- support IPv6
management plugin
-----------------
bug fixes
- hide passwords in the web UI
- fix rabbitmqadmin's handling of Unicode strings
enhancements
- present the managed socket and open file counts and respective limits
- better memory usage reporting for hibernating queues
- better support for serving the web interface through a proxy
- allow users to choose which node a queue is declared on
- show memory alarm states for nodes
- show statistics for basic.returns
- publish/receive messages via HTTP; this is intended for testing /
learning / debugging, not as a general solution for HTTP messaging
STOMP plugin
------------
bug fixes
- prevent crash when publishing from STOMP, but subscribing from
non-STOMP
- correctly process publishes spanning multiple network packets
- do not crash when publishing with undefined headers
- receipts for SEND frames wait on confirms
- do not issue a DISCONNECT with receipt when a clean shutdown has
*not* occurred
enhancements
- add documentation. See http://www.rabbitmq.com/stomp.html
- significant performance improvements
- extend flow-control on back pressure through the STOMP gateway
preventing the STOMP from overloading the server
- support for the "persistent" header
- support for multiple NACK
SSL authentication mechanism plugin
-----------------------------------
enhancements
- only offer this mechanism on SSL connections
build and packaging
-------------------
enhancements
- Windows installer for the broker
- remove the rabbitmq-multi script in order to simplify startup and
improve error reporting
- add the "cond-restart" and "try-restart" options to the init script
- specify runlevels in the rabbitmq-server.init script
- make the java client jar an OSGi bundle
- Debian package only depends on erlang-nox
Upgrading
=========
To upgrade a non-clustered RabbitMQ from release 2.1.1 or later, simply
install the new version. All configuration and persistent message data
is retained.
To upgrade a non-clustered RabbitMQ from release 2.1.0, first upgrade
to 2.1.1 (which retains all data), and then to the current version as
described above.
To upgrade a clustered RabbitMQ or from releases prior to 2.1.0, if
the RabbitMQ installation does not contain any important data then
simply install the new version. RabbitMQ will move the existing data
to a backup location before creating a fresh, empty database. A
warning is recorded in the logs. If your RabbitMQ installation
contains important data then we recommend you contact
support at rabbitmq.com for assistance with the upgrade.
More information about the rabbitmq-discuss
mailing list