UNPKG

13.9 kBMarkdownView Raw
1# Change log for amqplib
2
3## Chagnes in v0.10.0
4 * Use Native promises ([PR
5 689](https://github.com/amqp-node/amqplib/pull/689), thank you
6 @mohd-akram and @kibertoad)
7
8## Changes in v0.9.1
9
10 git log v0.9.0..v0.9.1
11
12 * Assorted readme changes
13 * Use Array.prototype.push.apply instead of concat in Mux ([PR
14 658](https://github.com/squaremo/amqp.node/pull/658), thank you
15 @Uzlopak and @kibertoad)
16 * Use Map instead of Object for BaseChannel.consumers ([PR
17 660](https://github.com/squaremo/amqp.node/pull/660), thank you
18 @Uzlopak)
19 * Delete consumer callback after cancellation to free memory ([PR
20 659](https://github.com/squaremo/amqp.node/pull/659), thank you
21 @Uzlopak and @kibertoad)
22
23
24## Changes in v0.9.0
25
26 git log v0.8.0..v0.9.0
27
28 * Update mocha and replace the deprecated istanbul with nyc ([PR
29 681](https://github.com/squaremo/amqp.node/pull/681)
30 * Update url-parse ([PR
31 675](https://github.com/squaremo/amqp.node/pull/675), thank you
32 @suhail-n and @kibertoad)
33 * fix: done called twice on invalid options ([PR
34 667](https://github.com/squaremo/amqp.node/pull/667), thank you
35 @luddd3 and @kibertoad)
36 * Close connection to server on connect errors ([PR
37 647](https://github.com/squaremo/amqp.node/pull/647), thank you
38 @luddd3 and @kibertoad)
39 * Modernise channel_model.js ([PR
40 635](https://github.com/squaremo/amqp.node/pull/635), thank you
41 @kibertoad and @jimmywarting)
42 * Bring package-lock.json up to date ([PR
43 653](https://github.com/squaremo/amqp.node/pull/653)
44 * Update url-parse ([PR
45 652](https://github.com/squaremo/amqp.node/pull/652), thank you
46 @giorgioatanasov and @buffolander)
47 * Modernise channel_model.js ([PR
48 651](https://github.com/squaremo/amqp.node/pull/651), thank you
49 for the review @kibertoad)
50 * Modernise bitset.js ([PR
51 634](https://github.com/squaremo/amqp.node/pull/634), thank you
52 @kibertoad and @jimmywarting)
53 * :warning: Drop CI for node versions below 10 ([PR
54 631](https://github.com/squaremo/amqp.node/pull/631), thank you
55 for the review @kibertoad)
56 * Replace safe-buffer dependency with native buffers ([PR
57 628](https://github.com/squaremo/amqp.node/pull/628), thank you
58 @kibertoad and @jimmywarting)
59
60## Changes in v0.8.0
61
62 git log v0.7.1..v0.8.0
63
64 * :warning: Support for NodeJS prior to v10 is dropped :warning: ([PR
65 615](https://github.com/squaremo/amqp.node/pull/615), thank you
66 @xamgore and everyone who helped there)
67 * Use hostname as TLS servername, to help with using servers behind
68 load balancers ([PR
69 567](https://github.com/squaremo/amqp.node/pull/567), thanks to
70 @carlhoerberg and commenters)
71
72## Changes in v0.7.1
73
74 git log v0.7.0..v0.7.1
75
76 * Update url-parse (and others) ([PR
77 607](https://github.com/squaremo/amqp.node/pull/545), thanks
78 @ThomasGawlitza)
79
80## Changes in v0.7.0
81
82 git log v0.6.0..v0.7.0
83
84 * Extend support to Node.js v15
85 * Fix use of stream.write in tests
86
87## Changes in v0.6.0
88
89 git log v0.5.6..v0.6.0
90
91 * Extend support to Node.js v14
92
93## Changes in v0.5.6
94
95 git log v0.5.5..v0.5.6
96
97 * Increase size of encoding space for message headers, to fit e.g.,
98 JWT ([PR 545](https://github.com/squaremo/amqp.node/pull/545));
99 thanks @twatson83
100 * Switch to a non-deprecated UUID module ([PR
101 528](https://github.com/squaremo/amqp.node/pull/528)); thanks to
102 @StrayBird-ATSH
103 * Fix a bug in multiplexing that caused an assertion to fail ([PR
104 503](https://github.com/squaremo/amqp.node/pull/503)); thanks
105 @johanneswuerbach
106
107## Changes in v0.5.5
108
109 git log v0.5.3..v0.5.5
110
111**NB** this includes a minor but possibly breaking change: after [PR
112498](https://github.com/squaremo/amqp.node/pull/498), all confirmation
113promises still unresolved will be rejected when their associated
114channel is closed.
115
116 * Generate defs in `npm prepare` rather than `npm prepublish` so that
117 e.g., amqplib can be installed via git ([part of PR
118 498](https://github.com/squaremo/amqp.node/pull/498))
119 * Reject all pending confirmations when the channel is closed ([PR
120 498](https://github.com/squaremo/amqp.node/pull/498)); thanks
121 @johanneswuerbach
122 * Update supported NodeJS versions in package.json ([PR
123 525](https://github.com/squaremo/amqp.node/pull/525)); thanks
124 @tingwai
125
126## (Deprecated v0.5.4)
127
128This release was mistakenly published without the generated file
129`./defs.js`. It has been deprecated in favour of v0.5.5.
130
131## Changes in v0.5.3
132
133 git log v0.5.2..v0.5.3
134
135 * Bump bitsyntax to remove some `Buffer` misuse deprecation notices
136 ([PR 480])(https://github.com/squaremo/amqp.node/pull/480)
137 * Test on node 11.1
138 ([PR 473])(https://github.com/squaremo/amqp.node/pull/464); thanks
139 @kibertoad
140 * Updated various dependencies
141 * Support queue mode during assertQueue
142 ([PR 464])(https://github.com/squaremo/amqp.node/pull/464); thanks
143 @JoeTheFkingFrypan
144 * Expose serverProperties in the connection object
145 ([PR 452])(https://github.com/squaremo/amqp.node/pull/452); thanks
146 @jfromaniello
147 * Test on Node 10
148 ([PR 454])(https://github.com/squaremo/amqp.node/pull/454); thanks
149 @kibertoad
150 * Support amqplain credentials
151 ([PR 451])(https://github.com/squaremo/amqp.node/pull/451); thanks
152 @jfromaniello
153 * Decorate channel errors with methodId and classId
154 ([PR 447])(https://github.com/squaremo/amqp.node/pull/447); thanks
155 @MitMaro
156 * Resolve issues caused by Node 10 `readable` changes
157 ([PR 442])(https://github.com/squaremo/amqp.node/pull/442)
158 * Bump uglify to 2.6.x and node to 9.1 due to nodejs/node#16781.
159 ([PR 439])(https://github.com/squaremo/amqp.node/pull/439)
160 * Updated README with more modern Buffer syntax
161 ([PR 438](https://github.com/squaremo/amqp.node/pull/438); thanks
162 @ravshansbox
163 * Support overflow option to assert queue
164 ([PR 436])(https://github.com/squaremo/amqp.node/pull/436); thanks
165 to @honestserpent
166 * Replace instances of keyword `await`
167 ([PR 396])(https://github.com/squaremo/amqp.node/pull/396),
168 as discussed in
169 [issue 235](https://github.com/squaremo/amqp.node/issues/235)
170 * Use 3rd party url for better decoding of username/password
171 ([PR 395])(https://github.com/squaremo/amqp.node/pull/395),
172 as discussed in
173 [issue 385](https://github.com/squaremo/amqp.node/issues/385))
174
175## Changes in v0.5.2
176
177 git log v0.5.1..v0.5.2
178
179 * Increase encoding buffer to accommodate large header values
180 ([PR 367](https://github.com/squaremo/amqp.node/pull/367))
181 * Bring code up to date with new Buffer interface
182 ([PR 350](https://github.com/squaremo/amqp.node/pull/350))
183 * Fix dangling connection problem
184 ([PR 340](https://github.com/squaremo/amqp.node/pull/340))
185 * Clear up URL credentials parsing
186 ([PR 330](https://github.com/squaremo/amqp.node/pull/330))
187 * Allow connection params to be suppied in object
188 ([PR 304](https://github.com/squaremo/amqp.node/pull/304))
189 * Support explicit numeric types in field tables (e.g., headers)
190 ([PR 389](https://github.com/squaremo/amqp.node/pull/389), from a
191 suggestion in
192 [issue 358](https://github.com/squaremo/amqp.node/issues/358))
193
194Thank you to all contributors, of PRs, issues and comments.
195
196## Changes in v0.5.1
197
198 git log v0.5.0..v0.5.1
199
200 * Fix mistake in closeBecause
201 ([PR 298](https://github.com/squaremo/amqp.node/pull/298); thanks
202 to @lholznagel and others who reported the issue, and to @nfantone
203 for the rapid fix)
204
205## Changes in v0.5.0
206
207 git log v0.4.2..v0.5.0
208
209 * Port to use bluebird rather than when.js
210 ([PR 295](https://github.com/squaremo/amqp.node/pull/295); thanks
211 to @nfantone, and special mention to @myndzi for #158)
212 * Fixed a problem with using `channel.get` in the callback model
213 ([PR 283](https://github.com/squaremo/amqp.node/pull/283); good
214 catch, @shanksauce)
215 * Added an example that uses generators (thanks @rudijs)
216 * Fixed a link in the comments relating to heartbeats (thanks
217 @tapickell)
218
219## Changes in v0.4.2
220
221 git log v0.4.1..v0.4.2
222
223 * Better documentation and examples
224 * Replace uses of ES6 keyword 'await'
225
226## Changes in v0.4.1
227
228 git log v0.4.0..v0.4.1
229
230 * Tested in Node.JS 0.8 through 4.2 and 5.5
231 * Emit an error with the 'close' event if server-initiated
232
233## Changes in v0.4.0
234
235 git log v0.3.2..v0.4.0
236
237 * Tested on Node.JS 0.8 through 4.0 (and intervening io.js releases)
238 * Change meaning of 'b' fields in tables to match RabbitMQ (and AMQP
239 specification)
240 * Can now pass an object in place of connection URL
241 ([PR 159](https://github.com/squaremo/amqp.node/pull/159); thanks
242 to @ben-page)
243 * Operator-initiated connection close no longer results in 'error'
244 event
245 ([issue 110](https://github.com/squaremo/amqp.node/issues/110))
246 * Channel and Connection errors have now a `.code` field with the
247 AMQP reply-code, which may help distinguish error cases
248 ([PR 150](https://github.com/squaremo/amqp.node/pull/150); thanks
249 to @hippich)
250 * Connection.close will resolve to an error if the connection is
251 already closed
252 ([issue 181](https://github.com/squaremo/amqp.node/issues/181))
253 * Connection establishment will resolve with an error if the
254 TCP-level connection or the handshake times out
255 ([PR 169](https://github.com/squaremo/amqp.node/pull/169); thanks
256 to @zweifisch and @RoCat, who both submitted fixes)
257 * Add the `maxPriority` option as an alias for the `'x-max-priority'`
258 queue argument
259 ([PR 180](https://github.com/squaremo/amqp.node/pull/180); thanks
260 to @ebardes)
261
262## Changes in v0.3.2 (since v0.3.1)
263
264 git log v0.3.1..v0.3.2
265
266 * Make the engine specification more flexible to admit io.js releases
267
268## Changes in v0.3.1 (since v0.3.0)
269
270 git log v0.3.0..v0.3.1
271
272### Fixes
273
274 * Fail in the right way when a channel cannot be allocated [issue
275 129](https://github.com/squaremo/amqp.node/issues/129)
276 * Make `waitForConfirms` work properly in callback API [PR
277 116](https://github.com/squaremo/amqp.node/pull/116)
278
279### Enhancements
280
281 * Two new options while connecting:
282 [timeout](https://github.com/squaremo/amqp.node/pull/118) and [keep
283 alive](https://github.com/squaremo/amqp.node/pull/125) (thanks to
284 @rexxars and @jcrugzz respectively)
285
286## Changes in v0.3.0 (since v0.2.1)
287
288 git log v0.2.1..v0.3.0
289
290### Enhancements
291
292 * Allow additional client properties to be set for a connection
293 [Issue 98](https://github.com/squaremo/amqp.node/issues/98) and
294 [PR 80](https://github.com/squaremo/amqp.node/pull/80)
295 * New method in channel API to wait for all unconfirmed messages
296 [Issue 89](https://github.com/squaremo/amqp.node/issues/89)
297 * Now supports RabbitMQ's `EXTERNAL` authentication plugin
298 [Issue 105](https://github.com/squaremo/amqp.node/issues/105)
299
300## Changes in v0.2.1 (since v0.2.0)
301
302### Fixes
303
304 * Do tuning negotation properly [PR
305 84](https://github.com/squaremo/amqp.node/pull/84)
306
307## Changes in v0.2.0 (since v0.1.3)
308
309 git log v0.1.3..v0.2.0
310
311### Fixes
312
313 * Correctly deal with missing fields (issue 48)
314
315### Enhancements
316
317 * Added a callback-oriented API, parallel to the existing,
318 promise-oriented API.
319 * The response to assertExchange now contains the exchange name,
320 analagous to assertQueue (issue 49)
321 * The channel method `prefetch` now has a global flag, to be
322 [compatible with newer RabbitMQ][rabbitmq-prefetch-global].
323
324## Changes in v0.1.3 (since v0.1.2)
325
326 git log v0.1.2..v0.1.3
327
328### Enhancements
329
330 * Add support in the API for using Basic.Reject rather than
331 Basic.Nack, the latter of which is a RabbitMQ extension and not in
332 older versions of RabbitMQ.
333
334## Changes in v0.1.2 (since v0.1.1)
335
336 git log v0.1.1..v0.1.2
337
338### Fixes
339
340 * Restore support for publishing zero-length messages
341
342### Enhancements
343
344 * Recognise [authentication failures][rabbitmq-auth-failure]
345 * An option to set TCP_NODELAY on connection sockets
346
347## Changes in v0.1.1 (since v0.1.0)
348
349 git log v0.1.0..v0.1.1
350
351### Fixes
352
353 * Safer frame construction, no longer relies on allocating a large,
354 fixed-size buffer and hoping it's big enough
355 * The ports of RabbitMQ tutorials now avoid a race between publishing
356 and closing the connection
357
358### Enhancements
359
360 * Support for RabbitMQ's consumer priority extension
361 * Support for RabbitMQ's connnection.blocked extension
362 * Better write speed from batching frames for small messages
363 * Other minor efficiency gains in method encoding and decoding
364 * Channel and connection state errors (e.g., trying to write when
365 closed) include a stack trace from when they moved to that state
366 * The `arguments` table, passed as an option to some methods, can
367 include fields in its prototype chain
368 * Provide the more accurately named `persistent` as a near equivalent
369 of `deliveryMode`
370
371## Changes in v0.1.0 (since v0.0.2)
372
373 git log v0.0.2..v0.1.0
374
375### Breaking changes
376
377 * Consumer callbacks are invoked with `null` if the consumer is
378 cancelled (see
379 [RabbitMQ's consumer cancel notification][rabbitmq-consumer-cancel])
380 * In confirm channels, instead of `#publish` and `#sendToQueue`
381 returning promises, they return a boolean as for normal channels,
382 and take a Node.JS-style `function (err, ok)` callback for the
383 server ack or nack
384
385### Fixes
386
387 * Overlapping channel and connection close frames are dealt with
388 gracefully
389 * Exceptions thrown in consumer callbacks are raised as `'error'`
390 events
391 * Zero-size messages are handled
392 * Avoid monkey-patching `Buffer`, and eschew
393 `require('util')._extend`
394
395### Enhancements
396
397 * Channels now behave like `Writable` streams with regard to `#publish`
398 and `#sendToQueue`, returning a boolean from those methods and
399 emitting `'drain'`
400 * Connections now multiplex frames from channels fairly
401 * Low-level channel machinery is now fully callback-based
402
403
404[rabbitmq-consumer-cancel]: http://www.rabbitmq.com/consumer-cancel.html
405[rabbitmq-auth-failure]: http://www.rabbitmq.com/auth-notification.html
406[rabbitmq-prefetch-global]: http://www.rabbitmq.com/consumer-prefetch.html