Releases: rabbitmq/rabbitmq-server
RabbitMQ 3.7.14-rc.1
RabbitMQ 3.7.14-rc.1
RabbitMQ 3.7.14-rc.1 is a preview maintenance release. It focuses on bug fixes and
minor usability improvements. This release requires Erlang/OTP 20.3 or later.
Erlang/OTP Compatibility Notes
Per the new Erlang version support policy in effect starting with January 2019,
this release no longer supports Erlang/OTP 19.3.
Make sure a supported Erlang version is used before upgrading.
Provisioning Latest Erlang Releases
explains what package repositories and tools can be used to provision latest patch versions of
Erlang 20.3.x and 21.x.
Compatibility Notes
Minimum Required Erlang Version
This release requires Erlang/OTP 20.3 or later.
Upgrading to Erlang 21.x
When upgrading to this release and upgrading Erlang to 21.x at the same time, extra care has to be taken.
Since CLI tools from RabbitMQ releases older than 3.7.7 will fail on Erlang 21,
RabbitMQ must be upgraded before Erlang.
Upgrade Doc Guides and Change Log
See 3.7.0 release notes upgrade and
compatibility notes if upgrading from an earlier release.
See the Upgrading guide for general documentation on upgrades and
RabbitMQ change log for release notes of other releases.
Getting Help
Any questions about this release, upgrades or RabbitMQ in general are welcome on the
RabbitMQ mailing list.
Changes
Core Server
Bug Fixes
Enhancements
-
TCP and TLS listeners are started later to reduce the probability of clients connecting to and performing operations
on a node that's not fully initialised.GitHub issue: rabbitmq/rabbitmq-server#1869
-
Reduced schema data store locking for binding operations.
GitHub issue: rabbitmq/rabbitmq-server#1900
CLI Tools
Enhancements
-
More informative and user-friendly help messages produced by
helpandhelp [command]commands.GitHub issue: rabbitmq/rabbitmq-cli#332
Management Plugin
Bug Fixes
-
Groups of upstream URIs were not formatted correctly.
Contributed by Grigory Starinkin.
GitHub issue: rabbitmq/rabbitmq-management#683
Enhancements
-
management.load_definitionsnow can point at a directory of definition files, not just a single file.GitHub issue: rabbitmq/rabbitmq-management#665
Federation Plugin
Bug Fixes
-
Federation links could fail to start with an
{error, already_started}.GitHub issues: rabbitmq/rabbitmq-federation#84, rabbitmq/rabbitmq-federation#87
RPM Package
Bug Fixes
-
RPM package post-install scripts now restart the node in case it was running before the upgrade.
GitHub issue: rabbitmq/rabbitmq-server-release#94
Source code archives
Warning: The source code archive provided by GitHub only contains the source of the broker,
not the plugins or the client libraries. Please download the archive named rabbitmq-3.7.14.tar.gz.
RabbitMQ 3.7.13
RabbitMQ 3.7.13
RabbitMQ 3.7.13 is a maintenance release. It focuses on bug fixes and
minor usability improvements. This release requires Erlang/OTP 20.3 or later.
Erlang/OTP Compatibility Notes
Per the new Erlang version support policy in effect starting with January 2019,
this release no longer supports Erlang/OTP 19.3.
Make sure a supported Erlang version is used before upgrading.
Provisioning Latest Erlang Releases
explains what package repositories and tools can be used to provision latest patch versions of
Erlang 20.3.x and 21.x.
Compatibility Notes
Minimum Required Erlang Version
This release requires Erlang/OTP 20.3 or later.
Upgrading to Erlang 21.x
When upgrading to this release and upgrading Erlang to 21.x at the same time, extra care has to be taken.
Since CLI tools from RabbitMQ releases older than 3.7.7 will fail on Erlang 21,
RabbitMQ must be upgraded before Erlang.
Upgrade Doc Guides and Change Log
See 3.7.0 release notes upgrade and
compatibility notes if upgrading from an earlier release.
See the Upgrading guide for general documentation on upgrades and
RabbitMQ change log for release notes of other releases.
Getting Help
Any questions about this release, upgrades or RabbitMQ in general are welcome on the
RabbitMQ mailing list.
Changes
Core Server
Bug Fixes
-
Binding and unbinding operations could fail with a
NOT_FOUNDchannel exception if binding tables
got out of sync.GitHub issues: rabbitmq/rabbitmq-server#1873, rabbitmq/rabbitmq-server#1878, rabbitmq/rabbitmq-server#1884
-
Eliminated an accumulating inefficiency around topic-based authorization (only topic
exchanges are affected).Contributed by Ayanda Dube.
GitHub issue: rabbitmq/rabbitmq-server#1886
-
TCP connections could accumulate when Proxy protocol
was enabled and proxy's TCP connections were closed before Proxy protocol header was received and parsed.GitHub issue: rabbitmq/rabbitmq-server#1901
-
When a queue was deleted, internal events
about consumer cancellation (consumer.deleted) were not emitted.GitHub issue: rabbitmq/rabbitmq-server#1892
-
Connection tracking subsystem failed and logged an exception when connection was closed before it could
be registered.GitHub issue: rabbitmq/rabbitmq-server#1898
Enhancements
-
Exclusive queue property mismatch during queue declaration now produces a more helpful
error message.GitHub issue: rabbitmq/rabbitmq-server#1887
-
Erlang 22 forward compatibility: support more cipher suites for config value encryption.
GitHub issue: rabbitmq/rabbitmq-common#307
CLI Tools
Enhancements
-
rabbitmqctl shutdownin--waitmode now uses node names instead ofgethostname(2)when inferring
if target node is remote. This is more reliable as it takes explicitly set node names andERL_INETRC
settings into account. In addition, it treats all nodes that have@localhostin the name as local
(running on the same host).GitHub issue: rabbitmq/rabbitmq-cli#327.
-
rabbitmqctl forget_cluster_nodeproduces a more helpful error message when asked to remove a node with running
RabbitMQ application.GitHub issue: rabbitmq/rabbitmq-cli#323
-
New command,
rabbitmqctl force_gc, that requests fullsweep GC for all processes on the target node.GitHub issue: rabbitmq/rabbitmq-cli#319
-
All RabbitMQ CLI tools now support
--versionas well asversionas a command.GitHub issue: rabbitmq/rabbitmq-cli#314
Management Plugin
Bug Fixes
-
rabbitmqadmin's'declare vhost_limitanddelete vhost_limitdid not support the vhost
parameter.GitHub issue: rabbitmq/rabbitmq-management#667
-
PUT /api/vhost-limits/{vhost}/{limit}documentation was incorrect and used confusing language.GitHub issue: rabbitmq/rabbitmq-management#667
Debian and RPM Packages
Bug Fixes
-
Debian and RPM packages no longer source
/etc/profilein post installation scripts.GitHub issue: rabbitmq/rabbitmq-server-release#93
Federation Plugin
Bug Fixes
-
Federation links could fail to start with an
{error, already_started}.GitHub issue: rabbitmq/rabbitmq-federation#84
Shovel Plugin
Bug Fixes
-
AMQP 1.0 endpoint URIs could fail to parse.
GitHub issue: rabbitmq/rabbitmq-amqp1.0-client#23
HTTP AuthN/AuthZ Backend Plugin
Enhnanceements
-
User tags are now passed to virtual host, resource and topic authorization check endpoints as a space-separated string.
Contributed by romerod.
GitHub issue: rabbitmq/rabbitmq-auth-backend-http#79
Trust Store Plugin
Bug Fixes
-
HTTP provider did not correctly update
If-Modified-Sincerequest header when certificates
(and thus theirLast-Modifiedresponse header) were updated.GitHub issue: rabbitmq/rabbitmq-trust-store#68
Source code archives
Warning: The source code archive provided by GitHub only contains the source of the broker,
not the plugins or the client libraries. Please download the archive named rabbitmq-3.7.13.tar.gz.
RabbitMQ 3.8.0-beta.3
v3.8.0-beta.3 Release 3.8.0-beta.3
RabbitMQ 3.7.13-rc.2
RabbitMQ 3.7.13-rc.2
RabbitMQ 3.7.13-rc.2 is a maintenance release candidate. It focuses on bug fixes and
minor usability improvements. This release requires Erlang/OTP 20.3 or later.
Erlang/OTP Compatibility Notes
Per the new Erlang version support policy in effect starting with January 2019,
this release no longer supports Erlang/OTP 19.3.
Make sure a supported Erlang version is used before upgrading.
Provisioning Latest Erlang Releases
explains what package repositories and tools can be used to provision latest patch versions of
Erlang 20.3.x and 21.x.
Compatibility Notes
Minimum Required Erlang Version
This release requires Erlang/OTP 20.3 or later.
Upgrading to Erlang 21.x
When upgrading to this release and upgrading Erlang to 21.x at the same time, extra care has to be taken.
Since CLI tools from RabbitMQ releases older than 3.7.7 will fail on Erlang 21,
RabbitMQ must be upgraded before Erlang.
Upgrade Doc Guides and Change Log
See 3.7.0 release notes upgrade and
compatibility notes if upgrading from an earlier release.
See the Upgrading guide for general documentation on upgrades and
RabbitMQ change log for release notes of other releases.
Getting Help
Any questions about this release, upgrades or RabbitMQ in general are welcome on the
RabbitMQ mailing list.
Changes
Core Server
Bug Fixes
-
Binding and unbinding operations could fail with a
NOT_FOUNDchannel exception if binding tables
got out of sync.GitHub issues: rabbitmq/rabbitmq-server#1873, rabbitmq/rabbitmq-server#1878, rabbitmq/rabbitmq-server#1884
-
Eliminated an accumulating inefficiency around topic-based authorization (only topic
exchanges are affected).Contributed by Ayanda Dube.
GitHub issue: rabbitmq/rabbitmq-server#1886
-
Node didn't release TCP connections when Proxy protocol
was enabled and proxy's TCP connections was closed before Proxy protocol header was received and parsed.GitHub issue: rabbitmq/rabbitmq-server#1901
-
When a queue was deleted, internal events
about consumer cancellation (consumer.deleted) were not emitted.GitHub issue: rabbitmq/rabbitmq-server#1892
-
Connection tracking subsystem failed and logged an exception when connection was closed before it could
be registered.GitHub issue: rabbitmq/rabbitmq-server#1898
Enhancements
-
Exclusive queue property mismatch during queue declaration now produces a more helpful
error message.GitHub issue: rabbitmq/rabbitmq-server#1887
-
Erlang 22 forward compatibility: support more cipher suites for config value encryption.
GitHub issue: rabbitmq/rabbitmq-common#307
CLI Tools
Enhancements
-
rabbitmqctl forget_cluster_nodeproduces a more helpful error message when asked to remove a node with running
RabbitMQ application.GitHub issue: rabbitmq/rabbitmq-cli#323
-
New command,
rabbitmqctl force_gc, that requests fullsweep GC for all processes on the target node.GitHub issue: rabbitmq/rabbitmq-cli#319
-
All RabbitMQ CLI tools now support
--versionas well asversionas a command.GitHub issue: rabbitmq/rabbitmq-cli#314
Debian and RPM Packages
Bug Fixes
-
Debian and RPM packages no longer source
/etc/profilein post installation scripts.GitHub issue: rabbitmq/rabbitmq-server-release#93
Shovel Plugin
Bug Fixes
-
AMQP 1.0 endpoint URIs could fail to parse.
GitHub issue: rabbitmq/rabbitmq-amqp1.0-client#23
HTTP AuthN/AuthZ Backend Plugin
Enhnanceements
-
User tags are now passed to virtual host, resource and topic authorization check endpoints as a space-separated string.
Contributed by romerod.
GitHub issue: rabbitmq/rabbitmq-auth-backend-http#79
Trust Store Plugin
Bug Fixes
-
HTTP provider did not correctly update
If-Modified-Sincerequest header when certificates
(and thus theirLast-Modifiedresponse header) were updated.GitHub issue: rabbitmq/rabbitmq-trust-store#68
Source code archives
Warning: The source code archive provided by GitHub only contains the source of the broker,
not the plugins or the client libraries. Please download the archive named rabbitmq-3.7.13.tar.gz.
RabbitMQ 3.7.13-beta.1
RabbitMQ 3.7.13-beta.1
RabbitMQ 3.7.13-beta.1 is a preview of a maintenance release. It focuses on bug fixes and
minor usability improvements. This release requires Erlang/OTP 20.3 or later.
Erlang/OTP Compatibility Notes
Per the new Erlang version support policy in effect starting with January 2019,
this release no longer supports Erlang/OTP 19.3.
Make sure a supported Erlang version is used before upgrading.
Provisioning Latest Erlang Releases
explains what package repositories and tools can be used to provision latest patch versions of
Erlang 20.3.x and 21.x.
Compatibility Notes
Minimum Required Erlang Version
This release requires Erlang/OTP 20.3 or later.
Upgrading to Erlang 21.x
When upgrading to this release and upgrading Erlang to 21.x at the same time, extra care has to be taken.
Since CLI tools from RabbitMQ releases older than 3.7.7 will fail on Erlang 21,
RabbitMQ must be upgraded before Erlang.
Upgrade Doc Guides and Change Log
See 3.7.0 release notes upgrade and
compatibility notes if upgrading from an earlier release.
See the Upgrading guide for general documentation on upgrades and
RabbitMQ change log for release notes of other releases.
Getting Help
Any questions about this release, upgrades or RabbitMQ in general are welcome on the
RabbitMQ mailing list.
Changes
Core Server
Bug Fixes
-
Binding and unbinding operations could fail with a
NOT_FOUNDchannel exception if binding tables
got out of sync.GitHub issues: rabbitmq/rabbitmq-server#1873, rabbitmq/rabbitmq-server#1878, rabbitmq/rabbitmq-server#1884
-
Eliminated an accumulating inefficiency around topic-based authorization (only topic
exchanges are affected).Contributed by Ayanda Dube.
GitHub issue: rabbitmq/rabbitmq-server#1886
-
When a queue was deleted, internal events
about consumer cancellation (consumer.deleted) were not emitted.GitHub issue: rabbitmq/rabbitmq-server#1892
Enhancements
-
Exclusive queue property mismatch during queue declaration now produces a more helpful
error message.GitHub issue: rabbitmq/rabbitmq-server#1887
CLI Tools
Enhancements
-
New command,
rabbitmqctl force_gc, that requests fullsweep GC for all processes on the target node.GitHub issue: rabbitmq/rabbitmq-cli#319
-
All RabbitMQ CLI tools now support
--versionas well asversionas a command.GitHub issue: rabbitmq/rabbitmq-cli#314
Debian and RPM Packages
Bug Fixes
-
Debian and RPM packages no longer source
/etc/profilein post installation scripts.GitHub issue: rabbitmq/rabbitmq-server-release#93
Shovel Plugin
Bug Fixes
-
AMQP 1.0 endpoint URIs could fail to parse.
GitHub issue: rabbitmq/rabbitmq-amqp1.0-client#23
Trust Store Plugin
Bug Fixes
-
HTTP provider did not correctly update
If-Modified-Sincerequest header when certificates
(and thus theirLast-Modifiedresponse header) were updated.GitHub issue: rabbitmq/rabbitmq-trust-store#68
Source code archives
Warning: The source code archive provided by GitHub only contains the source of the broker,
not the plugins or the client libraries. Please download the archive named rabbitmq-3.7.13.tar.gz.
RabbitMQ 3.7.12
RabbitMQ 3.7.12
RabbitMQ 3.7.12 is a maintenance release. It focuses on bug fixes and
minor usability improvements. This release requires Erlang/OTP 20.3 or later.
Erlang/OTP Compatibility Notes
Per the new Erlang version support policy in effect starting with January 2019,
this release no longer supports Erlang/OTP 19.3.
Make sure a supported Erlang version is used before upgrading.
Provisioning Latest Erlang Releases
explains what package repositories and tools can be used to provision latest patch versions of
Erlang 20.3.x and 21.x.
Compatibility Notes
Minimum Required Erlang Version
This release requires Erlang/OTP 20.3 or later.
rabbitmqctl shutdown Behavior with Remote Nodes
In earlier releases, when rabbitmqctl shutdown was used against a remote node, it would successfully
shut down the node but won't actually wait for its termination because the pid file path
reported by the remote node is not available locally. This is because rabbitmqctl shutdown was
meant to be used as a rabbitmqctl stop alternative that doesn't require the caller to know the
pid file path.
Starting with this version, rabbitmqctl shutdown will refuse to run against a remote node
by default. If the earlier behavior is desired and expected, it can be restored by passing --no-wait:
# will refuse to run against a remote node in --wait mode as of 3.7.12
# and --wait is on by default
rabbitmqctl shutdown -n [email protected] --longnames
# behaves the same way as in 3.7.0 through 3.7.11
rabbitmqctl shutdown -n [email protected] --longnames --no-waitinet_dist_listen_min and inet_dist_listen_max in New Style Configuration
inet_dist_listen_min and inet_dist_listen_max were removed from new style configuration.
They wouldn't have any effect due to how configuration translation is performed.
Use advanced.config or the RABBITMQ_DIST_PORT env variable to configure these settings:
[
{kernel, [
{inet_dist_listen_min, 33672},
{inet_dist_listen_max, 33672}
]},
{rabbit, [
%% ...
]}
].Note that some runtime parameters, e.g. net_ticktime, can be set via new style configuration.
This change is specific to the distirbution port settings.
Upgrading to Erlang 21.x
When upgrading to this release and upgrading Erlang to 21.x at the same time, extra care has to be taken.
Since CLI tools from RabbitMQ releases older than 3.7.7 will fail on Erlang 21,
RabbitMQ must be upgraded before Erlang.
Upgrade Doc Guides and Change Log
See 3.7.0 release notes upgrade and
compatibility notes if upgrading from an earlier release.
See the Upgrading guide for general documentation on upgrades and
RabbitMQ change log for release notes of other releases.
Getting Help
Any questions about this release, upgrades or RabbitMQ in general are welcome on the
RabbitMQ mailing list.
Changes
Core Server
Bug Fixes
-
When a node was configured to allow for unlimited frame size, an empty message published
via HTTP API resulted in an infinite recursion loop in the parser.GitHub issue: rabbitmq/rabbitmq-common#299
-
inet_dist_listen_minandinet_dist_listen_maxwere removed from new style configuration.
They wouldn't have any effect due to how configuration translation is performed.
Useadvanced.configor theRABBITMQ_DIST_PORTenv variable to configure these settings:[ {kernel, [ {inet_dist_listen_min, 33672}, {inet_dist_listen_max, 33672} ]}, {rabbit, [ %% ... ]} ].Note that some runtime parameters, e.g.
net_ticktime, can be set via new style configuration.
This change is specific to the distirbution port settings.Contributed by Gabriele Santomaggio.
GitHub issue: rabbitmq/rabbitmq-server#1881
CLI Tools
Bug Fixes
-
rabbitmqctland other CLI tools could fail when used with nodes using long node names.GitHub issue: rabbitmq/rabbitmq-cli#311
-
rabbitmqctl --helpnow exits with exit code of 0.rabbitmqctl(no arguments) uses code
64 (EX_USAGE).GitHub issue: rabbitmq/rabbitmq-cli#307
Enhancements
-
rabbitmqctl shutdownnow requires the user to opt in and provide--no-wait
to be used with remote nodes. There are no behavior changes when the command is invoked
against a locally running node. See also the compatibility note to this release.GitHub issue: rabbitmq/rabbitmq-cli#309
Management Plugin
Bug Fixes
-
Large HTTP API request bodies (e.g. importing a large definition file)
were not guaranteed to be fully consumed before parsing.GitHub issue: rabbitmq/rabbitmq-management#657
-
management_db_cache_multiplierconfiguration setting was ignored due to a typo.Contributed by Josh Soref.
GitHub issue: rabbitmq/rabbitmq-management#659
MQTT Plugin
Enhancements
-
When a retained message is published, its topic is now correctly translated
to use MQTT topic separators (a slash) regardless of the internal representation.Contributed by Ryan Sandbach.
GitHub issue: rabbitmq/rabbitmq-mqtt#175
-
When a client sent a duplicate
CONNECTframe (tried to "reauthenticate"), connection failed
with a scary looking exception.Now the frame is ignored (reauthentication is therefore still impossible) and a warning is logged
but the connection is kept open.Kudos to Grigory Starinkin for confirming our original hypothesis and providing the steps
to reproduce.GitHub issue: rabbitmq/rabbitmq-mqtt#179.
Bug Fixes
-
Clearer and shorter log messages when a socket write fails.
GitHub issue: rabbitmq/rabbitmq-mqtt#178
LDAP Plugin
Enhancements
-
The plugin now uses its own logging sink, which makes it possible to direct
all LDAP logs to a separate file.Contributed by Yury Alioshinov.
GitHub issue: rabbitmq/rabbitmq-auth-backend-ldap#105
Shovel Plugin
Bug Fixes
-
Configurating a Shovel with a valid AMQP 1.0 destination could fail with an exception.
GitHub issue: rabbitmq/rabbitmq-shovel#50
Source code archives
Warning: The source code archive provided by GitHub only contains the source of the broker,
not the plugins or the client libraries. Please download the archive named rabbitmq-3.7.12.tar.gz.
RabbitMQ 3.7.12-rc.2
RabbitMQ 3.7.12 RC2
RabbitMQ 3.7.12-rc.2 is a preview of a maintenance release. It focuses on bug fixes and
minor usability improvements. This release requires Erlang/OTP 20.3
or later.
Erlang/OTP Compatibility Notes
Per the new Erlang version support policy in effect starting with January 2019,
this release no longer supports Erlang/OTP 19.3.
Make sure a supported Erlang version is used before upgrading.
Provisioning Latest Erlang Releases
explains what package repositories and tools can be used to provision latest patch versions of
Erlang 20.3.x and 21.x.
Compatibility Notes
Minimum Required Erlang Version
This release requires Erlang/OTP 20.3 or later.
rabbitmqctl shutdown Behavior with Remote Nodes
In earlier releases, when rabbitmqctl shutdown was used against a remote node, it would successfully
shut down the node but won't actually wait for its termination because the pid file path
reported by the remote node is not available locally. This is because rabbitmqctl shutdown was
meant to be used as a rabbitmqctl stop alternative that doesn't require the caller to know the
pid file path.
Starting with this version, rabbitmqctl shutdown will refuse to run against a remote node
by default. If the earlier behavior is desired and expected, it can be restored by passing --no-wait:
# will refuse to run against a remote node in --wait mode as of 3.7.12
# and --wait is on by default
rabbitmqctl shutdown -n [email protected] --longnames
# behaves the same way as in 3.7.0 through 3.7.11
rabbitmqctl shutdown -n [email protected] --longnames --no-waitUpgrading to Erlang 21.x
When upgrading to this release and upgrading Erlang to 21.x at the same time, extra care has to be taken.
Since CLI tools from RabbitMQ releases older than 3.7.7 will fail on Erlang 21,
RabbitMQ must be upgraded before Erlang.
Upgrade Doc Guides and Change Log
See 3.7.0 release notes upgrade and
compatibility notes if upgrading from an earlier release.
See the Upgrading guide for general documentation on upgrades and
RabbitMQ change log for release notes of other releases.
Getting Help
Any questions about this release, upgrades or RabbitMQ in general are welcome on the
RabbitMQ mailing list.
Changes
Core Server
Bug Fixes
-
When a node was configured to allow for unlimited frame size, an empty message published
via HTTP API resulted in an infinite recursion loop in the parser.GitHub issue: rabbitmq/rabbitmq-common#299
CLI Tools
Bug Fixes
-
rabbitmqctland other CLI tools could fail when used with nodes using long node names.GitHub issue: rabbitmq/rabbitmq-cli#311
-
rabbitmqctl --helpnow exits with exit code of 0.rabbitmqctl(no arguments) uses code
64 (EX_USAGE).GitHub issue: rabbitmq/rabbitmq-cli#307
Enhancements
-
rabbitmqctl shutdownnow requires the user to opt in and provide--no-wait
to be used with remote nodes. There are no behavior changes when the command is invoked
against a locally running node. See also the compatibility note to this release.GitHub issue: rabbitmq/rabbitmq-cli#309
MQTT Plugin
Enhancements
-
When a retained message is published, its topic is now correctly translated
to use MQTT topic separators (a slash) regardless of the internal representation.Contributed by Ryan Sandbach.
GitHub issue: rabbitmq/rabbitmq-mqtt#175
-
When a client sent a duplicate
CONNECTframe (tried to "reauthenticate"), connection failed
with a scary looking exception.Now the frame is ignored (reauthentication is therefore still impossible) and a warning is logged
but the connection is kept open.Kudos to Grigory Starinkin for confirming our original hypothesis and providing the steps
to reproduce.GitHub issue: rabbitmq/rabbitmq-mqtt#179.
Bug Fixes
-
Clearer and shorter log messages when a socket write fails.
GitHub issue: rabbitmq/rabbitmq-mqtt#178
LDAP Plugin
Enhancements
-
The plugin now uses its own logging sink, which makes it possible to direct
all LDAP logs to a separate file.Contributed by Yury Alioshinov.
GitHub issue: rabbitmq/rabbitmq-auth-backend-ldap#105
Source code archives
Warning: The source code archive provided by GitHub only contains the source of the broker,
not the plugins or the client libraries. Please download the archive named rabbitmq-3.7.12.tar.gz.
RabbitMQ 3.7.12-rc.1
RabbitMQ 3.7.12 RC1
RabbitMQ 3.7.12-rc.1 is a preview of a maintenance release. It focuses on bug fixes and
minor usability improvements. This release requires Erlang/OTP 20.3
or later.
Erlang/OTP Compatibility Notes
Per the new Erlang version support policy in effect starting with January 2019,
this release no longer supports Erlang/OTP 19.3.
Make sure a supported Erlang version is used before upgrading.
Provisioning Latest Erlang Releases
explains what package repositories and tools can be used to provision latest patch versions of
Erlang 20.3.x and 21.x.
Compatibility Notes
Minimum Required Erlang Version
This release requires Erlang/OTP 20.3 or later.
rabbitmqctl shutdown Behavior with Remote Nodes
In earlier releases, when rabbitmqctl shutdown was used against a remote node, it would successfully
shut down the node but won't actually wait for its termination because the pid file path
reported by the remote node is not available locally. This is because rabbitmqctl shutdown was
meant to be used as a rabbitmqctl stop alternative that doesn't require the caller to know the
pid file path.
Starting with this version, rabbitmqctl shutdown will refuse to run against a remote node
by default. If the earlier behavior is desired and expected, it can be restored by passing --no-wait:
# will refuse to run against a remote node in --wait mode as of 3.7.12
# and --wait is on by default
rabbitmqctl shutdown -n [email protected] --longnames
# behaves the same way as in 3.7.0 through 3.7.11
rabbitmqctl shutdown -n [email protected] --longnames --no-waitUpgrading to Erlang 21.x
When upgrading to this release and upgrading Erlang to 21.x at the same time, extra care has to be taken.
Since CLI tools from RabbitMQ releases older than 3.7.7 will fail on Erlang 21,
RabbitMQ must be upgraded before Erlang.
Upgrade Doc Guides and Change Log
See 3.7.0 release notes upgrade and
compatibility notes if upgrading from an earlier release.
See the Upgrading guide for general documentation on upgrades and
RabbitMQ change log for release notes of other releases.
Getting Help
Any questions about this release, upgrades or RabbitMQ in general are welcome on the
RabbitMQ mailing list.
CLI Tools
Bug Fixes
-
rabbitmqctland other CLI tools could fail when used with nodes using long node names.GitHub issue: rabbitmq/rabbitmq-cli#311
-
rabbitmqctl --helpnow exits with exit code of 0.rabbitmqctl(no arguments) uses code
64 (EX_USAGE).GitHub issue: rabbitmq/rabbitmq-cli#307
Enhancements
-
rabbitmqctl shutdownnow requires the user to opt in and provide--no-wait
to be used with remote nodes. There are no behavior changes when the command is invoked
against a locally running node. See also the compatibility note to this release.GitHub issue: rabbitmq/rabbitmq-cli#309
MQTT Plugin
Enhancements
-
When a retained message is published, its topic is now correctly translated
to use MQTT topic separators (a slash) regardless of the internal representation.Contributed by Ryan Sandbach.
GitHub issue: rabbitmq/rabbitmq-mqtt#175
Bug Fixes
-
Clearer and shorter log messages when a socket write fails.
GitHub issue: rabbitmq/rabbitmq-mqtt#178
Source code archives
Warning: The source code archive provided by GitHub only contains the source of the broker,
not the plugins or the client libraries. Please download the archive named rabbitmq-3.7.12.tar.gz.
RabbitMQ 3.8.0-beta.2
v3.8.0-beta.2 Release 3.8.0-beta.2
RabbitMQ 3.7.11
RabbitMQ 3.7.11
RabbitMQ 3.7.11 is a maintenance release. It focuses on bug fixes and
minor usability improvements. This is the first release to require Erlang/OTP 20.3+.
Erlang/OTP Compatibility Notes
Per the new Erlang version support policy in effect starting with January 2019,
this release drops support for Erlang/OTP 19.3. Make sure a supported Erlang version is used before upgrading.
Provisioning Latest Erlang Releases explains what package repositories and tools can be used to provision latest patch versions of Erlang 20.3.x and 21.x.
Compatibility Notes
- This release requires Erlang/OTP 20.3 or later.
- Default CLI command exit code has changed from 70 (
EX_UNAVAILABLE) to 69 (EX_SOFTWARE).
This does not affect all commands and all error conditions, e.g. argument validation still uses code 64 (EX_USAGE)
Upgrading to Erlang 21.x
When upgrading to this release and upgrading Erlang to 21.x at the same time, extra care has to be taken.
Since CLI tools from RabbitMQ releases older than 3.7.7 will fail on Erlang 21, RabbitMQ must be upgraded before Erlang.
Documentation Guides and Change Log
See 3.7.0 release notes upgrade and
compatibility notes if upgrading from an earlier release.
See the Upgrading guide for general documentation on upgrades and
RabbitMQ change log for release notes of other releases.
Changes
Core Server
Erlang Version Requirement
-
This release requires Erlang/OTP
20.3.xor21.x.GitHub issue: rabbitmq/rabbitmq-server#1820
Bug Fixes
-
Number of socket file descriptors used is now correctly incremented.
GitHub issue: rabbitmq/rabbitmq-management#652
-
Configuration schema file was not copied during upgrades.
GitHub issues: rabbitmq/rabbitmq-server#1843
-
First heartbeat frame on a successfully negotiated connection is now sent after a half of the negotiated heartbeat
timeout. Previously it was sent after a complete timeout. Since most connections have other activity after
connection handshake is complete, this didn't have any visible effects on most systems.GitHub issue: rabbitmq/rabbitmq-common#293
-
If Syslog was configured to use TCP, the node could fail to start.
GitHub issue: rabbitmq/rabbitmq-server#1850
CLI Tools
Enhancements
-
Several new
rabbitmq-diagnosticscommands useful for diagnostics and health checks.GitHub issues: rabbitmq/rabbitmq-cli/issues/292, rabbitmq/rabbitmq-cli#303, rabbitmq/rabbitmq-cli#303
-
All CLI tools now can display command-specific help with
[command name] --help, e.g.rabbitmqctl set_policy --helpGitHub issue: rabbitmq/rabbitmq-cli#306
Management Plugin
Enhancements
-
rabbitmqadminnow defines an exception not available in Python 2, making TCP connection
error reporting more similar with that on Python 3.GitHub issue: rabbitmq/rabbitmq-management#647
AWS Peer Discovery Plugin
Bug Fixes
-
When an EC2 API endpoint could not be reached, the plugin terminated in a way that
brought down the entire node with it.GitHib issue: rabbitmq/rabbitmq-peer-discovery-aws#25
STOMP Plugin
Enhancements
-
Avoid using a private socket API function that's likely going away in Erlang 22.
GitHub issue: rabbitmq/rabbitmq-stomp#128
-
Default topic exchange used by the plugin is now configurable.
GitHub issue: rabbitmq/rabbitmq-stomp#94
MQTT Plugin
Enhancements
-
Avoid using a private socket API function that's likely going away in Erlang 22.
GitHub issue: rabbitmq/rabbitmq-mqtt#171
AuthN/AuthZ Backend Cache Plugin
Bug Fixes
-
The new style config format did not support
auth_cache.cache_refusalsGitHub issue: rabbitmq/rabbitmq-auth-backend-cache#17
Erlang Client
Enhancements
-
Avoid using a private socket API function that's likely going away in Erlang 22.
GitHub issue: rabbitmq/rabbitmq-erlang-client#114
Source code archives
Warning: The source code archive provided by GitHub only contains the source of the broker,
not the plugins or the client libraries. Please download the archive named rabbitmq-3.7.11.tar.gz.