RabbitMQ 3.7.9 釋出,Erlang 的 AMQP 開源實現
RabbitMQ 3.7.9 已釋出,這是一個維護版本,主要聚焦於修復 bug 和可用性改進。
相容性說明
此版本與早期的 3.7.x 沒有已知的不相容性。
升級至 Erlang 21.0
升級該版本會同時將 Erlang 更新至 21.0 版本。
具體更改
Core Server
Bug Fixes
-
Queue deletion loaded bindings in an inefficient way.
GitHub issue:ofollow,noindex" target="_blank">rabbitmq/rabbitmq-server#1690
-
Heartbeat monitor now correctly sends heartbeats at half the negotiated timeout interval.
It previously could fail to do so because it considered its own traffic to be on-the-wire
activity from the peer.
-
Nodes were using a [client] Syslog UDP socket even whenlogging to Syslog was not enabled.
GitHub issue:rabbitmq/rabbitmq-server#1718
-
ERL_EPMD_PORT
was ignored when configured inrabbitmq-env.conf
.GitHub issue:rabbitmq/rabbitmq-server#1709
-
Proxy Protocol dependency is now compatible with Erlang/OTP 21.
GitHub issue:rabbitmq/rabbitmq-common#269
Enhancements
-
It is now possible to configurecipher suites using new style config format.
GitHub issue:rabbitmq/rabbitmq-server#1712
-
When a listener fails to start (bind to a server socket), error messages involve less context and are
easier to read.
GitHub issue:rabbitmq/rabbitmq-server#1711
-
Improved error reporting for when
erl
orerl.exe
are no in node'sPATH
.GitHub issue:rabbitmq/rabbitmq-common#275
-
10 TLS connection acceptors are now used by default.
GitHub issue:rabbitmq/rabbitmq-server#1729
CLI Tools
Bug Fixes
-
rabbitmqctl list_*
commands did not include table column headers.GitHub issue:rabbitmq/rabbitmq-cli#264
-
If
RABBITMQ_NODENAME
is configured, CLI tools will use its hostname part when generating its ownErlang node name.
GitHub issue:rabbitmq/rabbitmq-cli#270
-
On Windows CLI tool batch scripts exited with a 0 exit code when it failed to connect to the node.
Contributed by Artem Zinenko.
GitHub issue:rabbitmq/rabbitmq-server#1735 .
Enhancements
-
rabbitmq-plugins directories
is a new command that outputs effective plugin directories .GitHub issue:rabbitmq/rabbitmq-cli#261
-
rabbitmqctl stop
now supports--idempotent
that makes the command exit with a success whentarget node is not running.
GitHub issue:rabbitmq/rabbitmq-cli#272
-
rabbitmqctl add_vhost
is now idempotent (no longer returns an error when vhost already exists)GitHub issue:rabbitmq/rabbitmq-cli#260
Management and Management Agent Plugins
Bug Fixes
-
Logo link now works better with a non-blank API endpoint prefix.
GitHub issue:rabbitmq/rabbitmq-management#604
-
Decimal headers and argument values are now serialised to JSON correctly.
GitHub issue:rabbitmq/rabbitmq-management-agent#71
Enhancements
-
It is now possible to configure both HTTPS and HTTP listeners using new syntax that's consistent with
Web STOMP and Web MQTT plugins:
management.tcp.port = 15672 management.ssl.port = 15671 management.ssl.cacertfile = /path/to/cacert.pem management.ssl.certfile = /path/to/cert.pem management.ssl.keyfile = /path/to/key.pem
GitHub issue:rabbitmq/rabbitmq-management#563
-
GET /api/nodes/{node}
endpoint aggregated data for other cluster nodes only to discard it later.GitHub issue:rabbitmq/rabbitmq-management#615
-
When
Handle.exe
is used and returns no file handle information in its output, a warning will be logged.GitHub issue:rabbitmq/rabbitmq-management-agent#67
LDAP/">LDAP Plugin
Enhancements
-
String matching queries now support multi-value results.
GitHub issue:rabbitmq/rabbitmq-auth-backend-ldap#100
-
ad_domain
andad_user
are new variables available in LDAP plugin queries. They are extracted from the usernamewhen it's in
Domain\User
format, which is typically specific to ActiveDirectory.GitHub issue:rabbitmq/rabbitmq-auth-backend-ldap#98
-
Search queries that return referrals will result in an error instead of an exception.
GitHub issue:rabbitmq/rabbitmq-auth-backend-ldap#97
Web STOMP Plugin
Enhancements
-
Advanced Socket/">WebSocket options now can be configured. Compression is enabled by default.
Compression won't be used with clients that do not support it.
GitHub issues:rabbitmq/rabbitmq-web-stomp#89 , rabbitmq/rabbitmq-web-stomp#90
Web MQTT Plugin
Bug Fixes
-
WebSocket
PING
frames are now ignored instead of being propagated to MQTT frame handler.
GitHub issue:rabbitmq/rabbitmq-web-mqtt#32
Enhancements
-
Advanced WebSocket options now can be configured. Compression is enabled by default.
Compression won't be used with clients that do not support it.
GitHub issues:rabbitmq/rabbitmq-web-mqtt#34
AWS Peer Discovery Plugin
Bug Fixes
-
EC2 API endpoint requests used an unreasonably low timeout (100 ms). The new value
is 10 seconds.
GitHub issue:rabbitmq/rabbitmq-peer-discovery-aws#24
Consul Peer Discovery Plugin
Bug Fixes
-
It wasn't possible to specify Consul service tags via new style config format.
GitHub issue:rabbitmq/rabbitmq-peer-discovery-consul#18
-
It wasn't possible to configure lock key prefix via new style config format.
GitHub issues:rabbitmq/rabbitmq-peer-discovery-consul#16
Enhancements
-
Lock acquisition timeout now can be configured using
cluster_formation.consul.lock_timeout
as well ascluster_formation.consul.lock_wait_time
(an alias),to be consistent with the Etcd implementation.
GitHub issue:rabbitmq/rabbitmq-peer-discovery-consul#20
Etcd Peer Discovery Plugin
Enhancements
-
Lock acquisition timeout now can be configured using
cluster_formation.etcd.lock_timeout
as well ascluster_formation.etcd.lock_wait_time
(an alias),to be consistent with the Consul implementation.
GitHub issue:rabbitmq/rabbitmq-peer-discovery-etcd#16
Event Exchange Plugin
Enhancements
-
Throughput optimizations reduce probability of high memory consumption by
rabbit_event
processes due toevent backlog accumulation.
GitHub issue:rabbitmq/rabbitmq-server#1722
RPM Package
Bug Fixes
-
Post-installation script renamed
environment variables (likerabbitmq.conf
torabbitmq-env.conf
. A long time agorabbitmq.conf
was used to configurerabbitmq-env.conf
today) and old post-installation steps were not removed whenrabbitmq.conf
was re-adopted for new style config files.
GitHub issue:rabbitmq/rabbitmq-server-release#87