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
|
122 | 498](https://github.com/squaremo/amqp.node/pull/498), all confirmation
|
123 | promises still unresolved will be rejected when their associated
|
124 | channel 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 |
|
138 | This 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 |
|
204 | Thank 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
|