1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244
|
Release: RabbitMQ 3.3.0
Security Fixes / Changes
========================
server
------
25603 prevent access using the default guest/guest credentials except via
localhost (since 1.0.0)
LDAP plugin
-----------
26052 do not allow use of password "" when connecting to servers which
permit unauthenticated bind (since 2.3.0)
Release Highlights
==================
server
------
bug fixes
26069 ensure that memory use is bounded when logging crash of large
processes (since 1.0.0)
25589 ensure that a queue which needs to reduce its RAM usage but is not
receiving any publishes still pages out messages quickly (since 2.0.0)
25991 fix topic routing in the face of multiple bindings that differ only
in arguments (e.g. those created by the federation plugin) (since 2.4.0)
26027 ensure autoheal does not hang winner node if 'rabbitmqctl stop_app'
issued on other node during healing (since 3.1.0)
26043 ensure autoheal does not crash if multiple autoheal requests occur
in quick succession and the leader make different decisions for each
(since 3.1.0)
26088 fix failure to delete virtual host if a queue in the virtual host is
deleted concurrently (since 1.0.0) (incorrectly reported fixed in 3.2.4)
25374 interpret AMQP field type 'b' as signed byte rather than unsigned, for
compatibility with our errata, and the majority of clients (since 1.0.0)
26058 prevent inaccurate (sometimes negative) report of memory use by
plugins (since 3.1.0)
26063 prevent spurious rabbit_node_monitor error messages when pausing in
pause_minority mode (since 3.2.4)
enhancements
25888 give busy queues a bias towards delivering more messages than they
accept, ensuring they tend to become empty rather than huge
26070 automatically reconsume when mirrored queues fail over (and
introduce x-cancel-on-ha-failover argument for the old behaviour)
25882 provide 'consumer utilisation' metric to help determine if consumers
are being held back by low prefetch counts
26039 ensure rabbitmqctl's formatting of process IDs is more shell-script
friendly
25654 allow use of separate modules for authentication and authorisation
25722 explicitly set Erlang distribution port in all circumstances
25910 add process identification information to process dictionary to aid in
debugging
25922 log reason why a node considered another node to be down
25860 enforce the rule that object names must be valid UTF-8 strings
25836 prevent deletion of amq.* built-in exchanges, and mark appropriate ones
as internal
25817 allow plugins to rewrite AMQP methods
25979 announce cluster-id when clients connect
26042 allow log_levels config item to silence mirrored queue events
26065 ensure config file location is logged even if config file is absent
22525 allow server-wide configuration of channel_max
25627 show current alarms in 'rabbitmqctl status'
performance improvements
25957 change semantics of basic.qos global flag in order to allow for
greatly enhanced prefetch performance
(see https://www.rabbitmq.com/consumer-prefetch.html)
25827,25853 substantially improve performance stopping and starting brokers
with many durable queues
26001 improve performance of persistent confirmed messages on spinning disks
24408 improve performance of mandatory publication (very substantially when
publishing across clusters)
25939,25942,25943 improve performance reading and writing AMQP (especially
reading large messages)
feature removal
25962 remove support for client-sent channel.flow method; basic.qos is
superior in all cases
25985 remove support for 'impersonator' tag
building & packaging
--------------------
bug fixes
25989 put the example config file in the correct directory for generic
Unix and standalone Mac, and put a copy in the AppData directory
on Windows (since 3.2.0).
26093 Debian: remove obsolete DM-Upload-Allowed field (thanks to Thomas
Goirand)
26094 Debian: ensure package can be built multiple times and remove
files from debdiff that should not be there (thanks to Thomas Goirand)
enhancements
25844 switch standalone Mac release to 64 bit architecture
management plugin
-----------------
bug fixes
25868 ensure connections in flow control for a long time still show 'flow'
and do not transition to 'blocked' (since 2.8.0)
enhancements
24829 provide information about flow control status of internal components,
to help find bottlenecks
25876 provide regex option when filtering lists (with thanks to Joseph Weeks)
feature removal
25720 remove the redirect from 2.x-era port 55672 to 15672
federation plugin
-----------------
enhancements
23906 implement cycle detection for messages forwarded over federation
25985 remove requirement to configure local-username
26042 allow log_levels config item to silence federation events
25979 replace local-nodename with (non-federation-specific) cluster-id
25902 preserve original routing key when forwarding messages via
queue federation
25904 tidy up nomenclature in federation status / management
shovel plugin
-------------
enhancements
24851 introduce "dynamic" shovels, controlled by parameters in a similar way
to federation (see https://www.rabbitmq.com/shovel-dynamic.html)
25890 make shovel status rather more informative
25894 introduce "auto-delete" dynamic shovels
25935 allow dynamic shovels to record routing information similarly to
federation
26045 default prefetch-count to 1000 rather than unlimited
LDAP plugin
-----------
enhancements
25785 add 'dn_lookup_bind' to allow lookup of a user's DN before binding
25839 allow specification of SSL options for (e.g.) presenting client
certificates when connecting to an LDAP server
26022 support timeouts when connecting to an LDAP server
25570 replace 'as_user_no_password' error with something which makes more sense
STOMP plugin
------------
bug fixes
26010 remove examples for the headers exchange that haven't worked since 2010
MQTT plugin
-----------
bug fixes
25941 ensure keepalives are implemented completely (since xxx)
enhancements
26067 initial support for MQTT 3.1.1 draft
25877 support specifying vhost at the time of connection
Web-STOMP plugin
----------------
bug fixes
25896 ensure examples set content-type (since 3.0.0)
enhancements
25828 upgrade cowboy to get sec-websocket-protocol support
25913 support SSL (with thanks to James Shiell)
JSON-RPC channel plugin
-----------------------
feature removal
26029 remove JSON-RPC channel plugin from the official release
java client
-----------
enhancements
14587 support automatically reconnecting to server(s) if connection is
interrupted
26008 make it easier to start a Connection with a custom ExceptionHandler
25833 allow specifying a per-ConnectionFactory ExecutorService
25999 handle running in a security-restricted context (e.g. Google App engine)
25663 improve type safety of ShutdownSignalException "reason" property
26068 improve clarity of AlreadyClosedException reason
26015 make Envelope.toString() do something useful
.net client
-----------
bug fixes
25911 ensure Subscriptions are informed if a channel closes (since 1.4.0)
25374 interpret AMQP field type 'b' as signed byte rather than unsigned, for
compatibility with our errata, and the majority of other clients
(since 1.0.0)
25046 ensure timeout establishing connection does not throw
System.NotSupportedException (since 1.0.0)
25278 ensure timeout establishing connection does not throw
ProtocolVersionMismatchException (since 2.0.0)
26071 ensure attempted use of a closed channel leads to
AlreadyClosedException (since 1.0.0)
25082 ensure EventingConsumer sets supertype model field (since 1.0.0)
enhancements
25895 support for SSL cert selection and validation callbacks (thanks to
"pooleja")
26068 improve clarity of AlreadyClosedException reason
erlang client
-------------
bug fixes
25374 interpret AMQP field type 'b' as signed byte rather than unsigned, for
compatibility with our errata, and the majority of other clients
(since 1.0.0)
26050 add missing handle_server_cancel/2 to amqp_gen_consumer_spec.hrl
enhancements
25985 do not require direct connections to specify a username
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 clustered RabbitMQ from release 2.1.1 or later, install the new
version on all the nodes and follow the instructions at
https://www.rabbitmq.com/clustering.html#upgrading .
To upgrade RabbitMQ from release 2.1.0, first upgrade to 2.1.1 (all data will be
retained), and then to the current version as described above.
When upgrading from RabbitMQ versions prior to 2.1.0, the existing data will be
moved to a backup location and a fresh, empty database will be created. 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.
|