219 lines
8.5 KiB
Markdown
219 lines
8.5 KiB
Markdown
|
## RabbitMQ 3.6.3
|
||
|
|
||
|
RabbitMQ `3.6.3` is a maintenance release that includes
|
||
|
bug fixes, packaging and build system enhancements.
|
||
|
|
||
|
As of `3.6.3`, RabbitMQ also comes with several additional plugins in the distribution:
|
||
|
|
||
|
* [rabbitmq_top](http://github.com/rabbitmq/rabbitmq-top), which helps identify (Erlang) processes
|
||
|
that consume most RAM and CPU resources
|
||
|
|
||
|
* [rabbitmq_trust_store](https://github.com/rabbitmq/rabbitmq-trust-store) which manages
|
||
|
trusted client x509/TLS certificates
|
||
|
|
||
|
* [rabbitmq_jms_topic_exchange](https://github.com/rabbitmq/rabbitmq-jms-topic-exchange/) which, together with [RabbitMQ JMS Java client](https://github.com/rabbitmq/rabbitmq-jms-client), provides support for the JMS 1.1 API
|
||
|
atop RabbitMQ.
|
||
|
|
||
|
### Breaking Changes
|
||
|
|
||
|
* Debian package now [supports systemd and also drops support for some older distributions](https://groups.google.com/forum/#!topic/rabbitmq-users/orFuEYExcxk).
|
||
|
|
||
|
* All artifacts in this release are signed with a [new 4096-bit OpenGPG key](https://groups.google.com/forum/#!msg/rabbitmq-users/BO5cmEsdEhc/Jupz1_Q4AwAJ).
|
||
|
|
||
|
### Known Issues on Erlang 19.0
|
||
|
|
||
|
An undocumented runtime metric change in Erlang 19.0 [breaks management plugin](https://github.com/rabbitmq/rabbitmq-management/issues/244).
|
||
|
|
||
|
### Server
|
||
|
|
||
|
#### Bug Fixes
|
||
|
|
||
|
* (Newly elected) queue leader process could terminate immediately after promotion
|
||
|
|
||
|
GitHub issue: [rabbitmq-server#812](https://github.com/rabbitmq/rabbitmq-server/issues/812)
|
||
|
|
||
|
* Priority queue mirror could fail to synchronize after restart
|
||
|
|
||
|
GitHub issues: [rabbitmq-server#687](https://github.com/rabbitmq/rabbitmq-server/issues/687), [rabbitmq-server#802](https://github.com/rabbitmq/rabbitmq-server/issues/802)
|
||
|
|
||
|
* Shutdown timeouts for worker processes are now much more reasonable.
|
||
|
Earlier the timeouts were virtually infinite which could lead to a deadlock during node shutdown.
|
||
|
|
||
|
GitHub issue: [rabbitmq-server#541](https://github.com/rabbitmq/rabbitmq-server/issues/541)
|
||
|
|
||
|
* Purging of a durable queue could result in undelivered publisher confirms.
|
||
|
Contributed by Andreas Ländle.
|
||
|
|
||
|
GitHub issue: [rabbitmq-server#854](https://github.com/rabbitmq/rabbitmq-server/issues/854)
|
||
|
|
||
|
* Old incarnations of queue mirrors are now ensured to be stopped before new ones are started
|
||
|
|
||
|
GitHub issue: [rabbitmq-server#863](https://github.com/rabbitmq/rabbitmq-server/issues/863)
|
||
|
|
||
|
#### Enhancements
|
||
|
|
||
|
* `systemd` support in Debian and RPM packages
|
||
|
|
||
|
Contributed by Alexey Lebedeff (Mirantis).
|
||
|
|
||
|
GitHub issue: [rabbitmq-server#570](https://github.com/rabbitmq/rabbitmq-server/issues/570)
|
||
|
|
||
|
* Debian repository and release artifacts are now signed with a [new 4096-bit OpenGPG key](https://groups.google.com/forum/#!msg/rabbitmq-users/BO5cmEsdEhc/Jupz1_Q4AwAJ)
|
||
|
|
||
|
GitHub issue: [rabbitmq-server#718](https://github.com/rabbitmq/rabbitmq-server/issues/718)
|
||
|
|
||
|
* More resilient `worker_pool`, particularly important for LDAP plugin users
|
||
|
|
||
|
GitHub issue: [rabbitmq-server#834](https://github.com/rabbitmq/rabbitmq-server/issues/834)
|
||
|
|
||
|
* More efficient file handle management
|
||
|
|
||
|
GitHub issue: [rabbitmq-server#828](https://github.com/rabbitmq/rabbitmq-server/issues/828)
|
||
|
|
||
|
* Test suite ported to Common Test
|
||
|
|
||
|
Plugin developers will be encouraged to port their test suites to Common Test
|
||
|
in the future.
|
||
|
|
||
|
GitHub issue: [rabbitmq-server#725](https://github.com/rabbitmq/rabbitmq-server/issues/725)
|
||
|
|
||
|
* Compilation on [Erlang/OTP 19.0](http://erlang.org/download/otp_src_19.0.readme).
|
||
|
|
||
|
GitHub issue: [rabbitmq-server#860](https://github.com/rabbitmq/rabbitmq-server/issues/860)
|
||
|
|
||
|
### Management Plugin
|
||
|
|
||
|
#### Enhancements
|
||
|
|
||
|
* New API endpoint for reporting ETS tables memory consumption (absolute and relative)
|
||
|
|
||
|
GitHub issue: [rabbitmq-management#219](https://github.com/rabbitmq/rabbitmq-management/issues/219)
|
||
|
|
||
|
* Node information page now includes GC and context switching stats
|
||
|
|
||
|
GitHub issue: [rabbitmq-management#208](https://github.com/rabbitmq/rabbitmq-management/issues/208)
|
||
|
|
||
|
* Connection, channel, and queue information pages now include several runtime metrics
|
||
|
|
||
|
GitHub issues: [rabbitmq-management#209](https://github.com/rabbitmq/rabbitmq-management/issues/209), [rabbitmq-management#210](https://github.com/rabbitmq/rabbitmq-management/issues/210), [rabbitmq-management#211](https://github.com/rabbitmq/rabbitmq-management/issues/211)
|
||
|
|
||
|
* Node metrics now include information about how long it takes to obtain a file handle
|
||
|
|
||
|
GitHub issue: [rabbitmq-server#825](https://github.com/rabbitmq/rabbitmq-server/issues/825)
|
||
|
|
||
|
* Partial HTTPS support in `rabbitmqadmin` on Python versions older than `2.7.9`
|
||
|
|
||
|
GitHub issue: [rabbitmq-management#225](https://github.com/rabbitmq/rabbitmq-management/issues/225)
|
||
|
|
||
|
#### Bug Fixes
|
||
|
|
||
|
* A channel statistics-related memory leak fixed.
|
||
|
|
||
|
GitHub issue: [rabbitmq-management#214](https://github.com/rabbitmq/rabbitmq-management/issues/214)
|
||
|
|
||
|
* Stats collectors event queue is now bounded (again)
|
||
|
|
||
|
GitHub issue: [rabbitmq-management#221](https://github.com/rabbitmq/rabbitmq-management/issues/221)
|
||
|
|
||
|
* Stats table name was logged as a tuple
|
||
|
|
||
|
GitHub issue: [rabbitmq-management#206](https://github.com/rabbitmq/rabbitmq-management/issues/206)
|
||
|
|
||
|
|
||
|
### .NET Client
|
||
|
|
||
|
#### Bug Fixes
|
||
|
|
||
|
* Setting user-provided connection name didn't have an effect.
|
||
|
|
||
|
GitHub issue: [rabbitmq-dotnet-client#187](https://github.com/rabbitmq/rabbitmq-dotnet-client/issues/187)
|
||
|
|
||
|
* `IConnection#CreateModel` could throw a `NullPointerException` due to a race
|
||
|
condition.
|
||
|
|
||
|
GitHub issue: [rabbitmq-dotnet-client#185](https://github.com/rabbitmq/rabbitmq-dotnet-client/issues/185)
|
||
|
|
||
|
* Connections with automatic recovery enabled ignored ports from the hostname
|
||
|
list.
|
||
|
|
||
|
GitHub issues: [rabbitmq-dotnet-client#157](https://github.com/rabbitmq/rabbitmq-dotnet-client/issues/157),
|
||
|
[rabbitmq-dotnet-client#190](https://github.com/rabbitmq/rabbitmq-dotnet-client/pull/190)
|
||
|
|
||
|
* Fixes an underflow in delivery tag handling after connection recovery
|
||
|
|
||
|
Contributed by @harishvadali and @Entroper.
|
||
|
|
||
|
GitHub issue: [rabbitmq-dotnet-client#200](https://github.com/rabbitmq/rabbitmq-dotnet-client/issues/200)
|
||
|
|
||
|
#### Enhancements
|
||
|
|
||
|
* New [FAKE](https://fsharp.github.io/FAKE/) and [Paket](https://fsprojects.github.io/Paket/)-based build tooling: development on OS X and Linux with Mono is now
|
||
|
possible again.
|
||
|
|
||
|
GitHub issue: [rabbitmq-dotnet-client#169](https://github.com/rabbitmq/rabbitmq-dotnet-client/issues/169)
|
||
|
|
||
|
|
||
|
### LDAP Plugin
|
||
|
|
||
|
#### Enhancements
|
||
|
|
||
|
* Nested groups are now supported with a separate query type
|
||
|
|
||
|
GitHub issue: [rabbitmq-auth-backend-ldap#3](https://github.com/rabbitmq/rabbitmq-auth-backend-ldap/issues/3)
|
||
|
|
||
|
#### Bug Fixes
|
||
|
|
||
|
* Query failures (e.g. `noSuchObject` responses) from LDAP servers are now correctly treated as `false` in
|
||
|
`or` and `and` queries instead of erroring.
|
||
|
|
||
|
GitHub issue: [rabbitmq-auth-backend-ldap#48](https://github.com/rabbitmq/rabbitmq-auth-backend-ldap/issues/48)
|
||
|
|
||
|
### Trust Store Plugin
|
||
|
|
||
|
#### Bug Fixes
|
||
|
|
||
|
* Invalid/unparseable certificates no longer prevent other certificates from (re)loading
|
||
|
|
||
|
GitHub issue: [rabbitmq-trust-store#27](https://github.com/rabbitmq/rabbitmq-trust-store/issues/27)
|
||
|
|
||
|
#### Enhancements
|
||
|
|
||
|
* Certificate verification now can validate only leaf certificates.
|
||
|
This is more convenient in some cases. It will be one of the opt-in modes
|
||
|
in future versions.
|
||
|
|
||
|
GitHub issue: [rabbitmq-trust-store#34](https://github.com/rabbitmq/rabbitmq-trust-store/issues/34)
|
||
|
|
||
|
* The plugin now logs when a certificate is added (loaded) or removed (unloaded)
|
||
|
|
||
|
GitHub issue: [rabbitmq-trust-store#28](https://github.com/rabbitmq/rabbitmq-trust-store/issues/28)
|
||
|
|
||
|
* The plugin now provides a function for listing trust store certificates
|
||
|
via `rabbitmqctl eval`: `rabbitmqctl eval 'io:format(rabbit_trust_store:list()).'`
|
||
|
|
||
|
GitHub issue: [rabbitmq-trust-store#31](https://github.com/rabbitmq/rabbitmq-trust-store/issues/31)
|
||
|
|
||
|
### Erlang Client
|
||
|
|
||
|
#### Enhancements
|
||
|
|
||
|
* `amqp_connection:close/4` is now exported
|
||
|
|
||
|
GitHub issue: [rabbitmq-erlang-client#59](https://github.com/rabbitmq/rabbitmq-erlang-client/issues/59)
|
||
|
|
||
|
#### Bug Fixes
|
||
|
|
||
|
* The client now compiles on Erlang/OTP 19.0
|
||
|
|
||
|
GitHub issue: [rabbitmq-erlang-client#41](https://github.com/rabbitmq/rabbitmq-erlang-client/issues/41)
|
||
|
|
||
|
### Delayed Message Exchange Plugin
|
||
|
|
||
|
#### Enhacements
|
||
|
|
||
|
* Efficiency improvements when publications and delayed delivery happen concurrently.
|
||
|
|
||
|
Contributed by Richard Larocque.
|
||
|
|
||
|
GitHub issues: [rabbitmq-delayed-message-exchange#51](https://github.com/rabbitmq/rabbitmq-delayed-message-exchange/pull/51), [rabbitmq-delayed-message-exchange#54](https://github.com/rabbitmq/rabbitmq-delayed-message-exchange/pull/54)
|