git log v0.5.1..v0.5.2
- Increase encoding buffer to accommodate large header values (PR 367)
- Bring code up to date with new Buffer interface (PR 350)
- Fix dangling connection problem (PR 340)
- Clear up URL credentials parsing (PR 330)
- Allow connection params to be suppied in object (PR 304)
- Support explicit numeric types in field tables (e.g., headers) (PR 389, from a suggestion in issue 358)
Thank you to all contributors, of PRs, issues and comments.
git log v0.5.0..v0.5.1
- Fix mistake in closeBecause (PR 298; thanks to @lholznagel and others who reported the issue, and to @nfantone for the rapid fix)
git log v0.4.2..v0.5.0
- Port to use bluebird rather than when.js (PR 295; thanks to @nfantone, and special mention to @myndzi for #158)
- Fixed a problem with using
channel.get
in the callback model (PR 283; good catch, @shanksauce) - Added an example that uses generators (thanks @rudijs)
- Fixed a link in the comments relating to heartbeats (thanks @tapickell)
git log v0.4.1..v0.4.2
- Better documentation and examples
- Replace uses of ES6 keyword 'await'
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
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; thanks to @ben-page)
- Operator-initiated connection close no longer results in 'error' event (issue 110)
- Channel and Connection errors have now a
.code
field with the AMQP reply-code, which may help distinguish error cases (PR 150; thanks to @hippich) - Connection.close will resolve to an error if the connection is already closed (issue 181)
- Connection establishment will resolve with an error if the TCP-level connection or the handshake times out (PR 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; thanks to @ebardes)
git log v0.3.1..v0.3.2
- Make the engine specification more flexible to admit io.js releases
git log v0.3.0..v0.3.1
- Fail in the right way when a channel cannot be allocated issue 129
- Make
waitForConfirms
work properly in callback API PR 116
- Two new options while connecting: timeout and keep alive (thanks to @rexxars and @jcrugzz respectively)
git log v0.2.1..v0.3.0
- Allow additional client properties to be set for a connection Issue 98 and PR 80
- New method in channel API to wait for all unconfirmed messages Issue 89
- Now supports RabbitMQ's
EXTERNAL
authentication plugin Issue 105
- Do tuning negotation properly PR 84
git log v0.1.3..v0.2.0
- Correctly deal with missing fields (issue 48)
- 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.
git log v0.1.2..v0.1.3
- 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.
git log v0.1.1..v0.1.2
- Restore support for publishing zero-length messages
- Recognise authentication failures
- An option to set TCP_NODELAY on connection sockets
git log v0.1.0..v0.1.1
- 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
- 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 ofdeliveryMode
git log v0.0.2..v0.1.0
- Consumer callbacks are invoked with
null
if the consumer is cancelled (see RabbitMQ's consumer cancel notification) - In confirm channels, instead of
#publish
and#sendToQueue
returning promises, they return a boolean as for normal channels, and take a Node.JS-stylefunction (err, ok)
callback for the server ack or nack
- 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 eschewrequire('util')._extend
- 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