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
|
112 | 498](https://github.com/squaremo/amqp.node/pull/498), all confirmation
|
113 | promises still unresolved will be rejected when their associated
|
114 | channel 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 |
|
128 | This 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 |
|
194 | Thank 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
|