UNPKG

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