Skip to content
RabbitMQ 3.5.2
Choose a tag to compare

Release Highlights


  • Improve integration with Docker (#113). Problems which were previously worked around in the official Docker image, were fixed in RabbitMQ. In particular:
    • Add a way to send log messages (both "normal" and sasl messages) to stdout (#128).
    • Do not try to use exec before su ... as su(1) forks a process anyway (since 3.5.0, #129).
  • Report a queue is under flow control only if it was in this situation in the last 1 second, instead of the last 5 seconds previously (#138).
  • Add a check to ensure the Mnesia directory is not shared with the PID file location or the plugin expansion directory (#120). This should help users facing non-working automatic clustering.
Bug fixes
  • Ensure the file handle cache remains under the memory high watermark when syncing a mirrored queue (since 2.0.0, #134).
  • Restore support for messages stored on disk with the previous x-death header format (since 3.5.1, #152).
  • Ensure passwords containing $ characters are properly escaped so they are not interpreted by the shell, when a password is changed using rabbitmqctl change_password (since 1.5.2, #66).

Plugin: Management UI

Bug fixes
  • Fix a badarith crash if for some reasons, the disk free space or the file descriptors count are temporarily reported incorrectly (rabbitmq/rabbitmq-management#30).

Plugin: STOMP

Bug fixes

Client library: Java

Bug fixes

Client library: .NET

Bug fixes

Client library: Erlang


Building and packaging

  • Upgrade Mac OS X standalone package to Erlang/OTP 17.5 (#97).
Bug fixes
  • Fix a problem where Erlang crash dumps (erl_crash.dump) were created when using the Mac OS X standalone package, even though RabbitMQ was running properly (#96). Thanks to Vitaly Numenta for the report!
  • Ensure rabbit_misc:otp_release/0 returns an appropriate value when using the Mac OS X standalone package (#106).
  • Ignore $RABBITMQ_PID_FILE set in /etc/rabbitmq/rabbitmq-env.conf as it would break the init script (#127).
  • Ensure $RABBITMQ_PID_FILE is not used before being set in the Debian init script (since 2.8.2, #126).
  • Use $(MAKE) instead of hard-coding make in the MQTT (rabbitmq/rabbitmq-mqtt#23) and STOMP (rabbitmq/rabbitmq-stomp#9) plugins.


To upgrade a non-clustered RabbitMQ simply install the new version. All configuration and persistent message data are retained.

To upgrade a RabbitMQ cluster, follow the instructions at:

Source code archives

Warning: The source code archives provided by GitHub only contain the source of the broker, not the plugins or the client libraries. Please download the archives available from the official download page: