You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
191 lines
5.9 KiB
191 lines
5.9 KiB
5 years ago
|
# Change log for amqplib
|
||
|
|
||
|
## Changes in v0.4.2
|
||
|
|
||
|
git log v0.4.1..v0.4.2
|
||
|
|
||
|
* Better documentation and examples
|
||
|
* Replace uses of ES6 keyword 'await'
|
||
|
|
||
|
## Changes in v0.4.1
|
||
|
|
||
|
git log v0.4.0..v0.4.1
|
||
|
|
||
|
* Tested in Node.JS 0.8 through 4.2 and 5.5
|
||
|
* Emit an error with the 'close' event if server-initiated
|
||
|
|
||
|
## Changes in v0.4.0
|
||
|
|
||
|
git log v0.3.2..v0.4.0
|
||
|
|
||
|
* Tested on Node.JS 0.8 through 4.0 (and intervening io.js releases)
|
||
|
* Change meaning of 'b' fields in tables to match RabbitMQ (and AMQP
|
||
|
specification)
|
||
|
* Can now pass an object in place of connection URL
|
||
|
([PR 159](https://github.com/squaremo/amqp.node/pull/159); thanks
|
||
|
to @ben-page)
|
||
|
* Operator-initiated connection close no longer results in 'error'
|
||
|
event
|
||
|
([issue 110](https://github.com/squaremo/amqp.node/issues/110))
|
||
|
* Channel and Connection errors have now a `.code` field with the
|
||
|
AMQP reply-code, which may help distinguish error cases
|
||
|
([PR 150](https://github.com/squaremo/amqp.node/pull/150); thanks
|
||
|
to @hippich)
|
||
|
* Connection.close will resolve to an error if the connection is
|
||
|
already closed
|
||
|
([issue 181](https://github.com/squaremo/amqp.node/issues/181))
|
||
|
* Connection establishment will resolve with an error if the
|
||
|
TCP-level connection or the handshake times out
|
||
|
([PR 169](https://github.com/squaremo/amqp.node/pull/169); thanks
|
||
|
to @zweifisch and @RoCat, who both submitted fixes)
|
||
|
* Add the `maxPriority` option as an alias for the `'x-max-priority'`
|
||
|
queue argument
|
||
|
([PR 180](https://github.com/squaremo/amqp.node/pull/180); thanks
|
||
|
to @ebardes)
|
||
|
|
||
|
## Changes in v0.3.2 (since v0.3.1)
|
||
|
|
||
|
git log v0.3.1..v0.3.2
|
||
|
|
||
|
* Make the engine specification more flexible to admit io.js releases
|
||
|
|
||
|
## Changes in v0.3.1 (since v0.3.0)
|
||
|
|
||
|
git log v0.3.0..v0.3.1
|
||
|
|
||
|
### Fixes
|
||
|
|
||
|
* Fail in the right way when a channel cannot be allocated [issue
|
||
|
129](https://github.com/squaremo/amqp.node/issues/129)
|
||
|
* Make `waitForConfirms` work properly in callback API [PR
|
||
|
116](https://github.com/squaremo/amqp.node/pull/116)
|
||
|
|
||
|
### Enhancements
|
||
|
|
||
|
* Two new options while connecting:
|
||
|
[timeout](https://github.com/squaremo/amqp.node/pull/118) and [keep
|
||
|
alive](https://github.com/squaremo/amqp.node/pull/125) (thanks to
|
||
|
@rexxars and @jcrugzz respectively)
|
||
|
|
||
|
## Changes in v0.3.0 (since v0.2.1)
|
||
|
|
||
|
git log v0.2.1..v0.3.0
|
||
|
|
||
|
### Enhancements
|
||
|
|
||
|
* Allow additional client properties to be set for a connection
|
||
|
[Issue 98](https://github.com/squaremo/amqp.node/issues/98) and
|
||
|
[PR 80](https://github.com/squaremo/amqp.node/pull/80)
|
||
|
* New method in channel API to wait for all unconfirmed messages
|
||
|
[Issue 89](https://github.com/squaremo/amqp.node/issues/89)
|
||
|
* Now supports RabbitMQ's `EXTERNAL` authentication plugin
|
||
|
[Issue 105](https://github.com/squaremo/amqp.node/issues/105)
|
||
|
|
||
|
## Changes in v0.2.1 (since v0.2.0)
|
||
|
|
||
|
### Fixes
|
||
|
|
||
|
* Do tuning negotation properly [PR
|
||
|
84](https://github.com/squaremo/amqp.node/pull/84)
|
||
|
|
||
|
## Changes in v0.2.0 (since v0.1.3)
|
||
|
|
||
|
git log v0.1.3..v0.2.0
|
||
|
|
||
|
### Fixes
|
||
|
|
||
|
* Correctly deal with missing fields (issue 48)
|
||
|
|
||
|
### Enhancements
|
||
|
|
||
|
* Added a callback-oriented API, parallel to the existing,
|
||
|
promise-oriented API.
|
||
|
* The response to assertExchange now contains the exchange name,
|
||
|
analagous to assertQueue (issue 49)
|
||
|
* The channel method `prefetch` now has a global flag, to be
|
||
|
[compatible with newer RabbitMQ][rabbitmq-prefetch-global].
|
||
|
|
||
|
## Changes in v0.1.3 (since v0.1.2)
|
||
|
|
||
|
git log v0.1.2..v0.1.3
|
||
|
|
||
|
### Enhancements
|
||
|
|
||
|
* Add support in the API for using Basic.Reject rather than
|
||
|
Basic.Nack, the latter of which is a RabbitMQ extension and not in
|
||
|
older versions of RabbitMQ.
|
||
|
|
||
|
## Changes in v0.1.2 (since v0.1.1)
|
||
|
|
||
|
git log v0.1.1..v0.1.2
|
||
|
|
||
|
### Fixes
|
||
|
|
||
|
* Restore support for publishing zero-length messages
|
||
|
|
||
|
### Enhancements
|
||
|
|
||
|
* Recognise [authentication failures][rabbitmq-auth-failure]
|
||
|
* An option to set TCP_NODELAY on connection sockets
|
||
|
|
||
|
## Changes in v0.1.1 (since v0.1.0)
|
||
|
|
||
|
git log v0.1.0..v0.1.1
|
||
|
|
||
|
### Fixes
|
||
|
|
||
|
* Safer frame construction, no longer relies on allocating a large,
|
||
|
fixed-size buffer and hoping it's big enough
|
||
|
* The ports of RabbitMQ tutorials now avoid a race between publishing
|
||
|
and closing the connection
|
||
|
|
||
|
### Enhancements
|
||
|
|
||
|
* Support for RabbitMQ's consumer priority extension
|
||
|
* Support for RabbitMQ's connnection.blocked extension
|
||
|
* Better write speed from batching frames for small messages
|
||
|
* Other minor efficiency gains in method encoding and decoding
|
||
|
* Channel and connection state errors (e.g., trying to write when
|
||
|
closed) include a stack trace from when they moved to that state
|
||
|
* The `arguments` table, passed as an option to some methods, can
|
||
|
include fields in its prototype chain
|
||
|
* Provide the more accurately named `persistent` as a near equivalent
|
||
|
of `deliveryMode`
|
||
|
|
||
|
## Changes in v0.1.0 (since v0.0.2)
|
||
|
|
||
|
git log v0.0.2..v0.1.0
|
||
|
|
||
|
### Breaking changes
|
||
|
|
||
|
* Consumer callbacks are invoked with `null` if the consumer is
|
||
|
cancelled (see
|
||
|
[RabbitMQ's consumer cancel notification][rabbitmq-consumer-cancel])
|
||
|
* In confirm channels, instead of `#publish` and `#sendToQueue`
|
||
|
returning promises, they return a boolean as for normal channels,
|
||
|
and take a Node.JS-style `function (err, ok)` callback for the
|
||
|
server ack or nack
|
||
|
|
||
|
### Fixes
|
||
|
|
||
|
* Overlapping channel and connection close frames are dealt with
|
||
|
gracefully
|
||
|
* Exceptions thrown in consumer callbacks are raised as `'error'`
|
||
|
events
|
||
|
* Zero-size messages are handled
|
||
|
* Avoid monkey-patching `Buffer`, and eschew
|
||
|
`require('util')._extend`
|
||
|
|
||
|
### Enhancements
|
||
|
|
||
|
* Channels now behave like `Writable` streams with regard to `#publish`
|
||
|
and `#sendToQueue`, returning a boolean from those methods and
|
||
|
emitting `'drain'`
|
||
|
* Connections now multiplex frames from channels fairly
|
||
|
* Low-level channel machinery is now fully callback-based
|
||
|
|
||
|
|
||
|
[rabbitmq-consumer-cancel]: http://www.rabbitmq.com/consumer-cancel.html
|
||
|
[rabbitmq-auth-failure]: http://www.rabbitmq.com/auth-notification.html
|
||
|
[rabbitmq-prefetch-global]: http://www.rabbitmq.com/consumer-prefetch.html
|