Skip to content

Releases: Blizzard/node-rdkafka

v1.0.5

03 Jul 20:00
Compare
Choose a tag to compare

New release version v1.0.5. This release note includes changes from v1.0.2 - v1.0.5

Consumer Changes

  1. Bug fix for custom rebalance callbacks where assignments were not being set. (v1.0.5)
  2. Kafka read stream now supports streamAsBatch option, if it is running in objectMode. This will push arrays to the stack instead of individual messages. (v1.0.4)
  3. Fixed callback "leak" in read stream under high message volume (v1.0.3)

v1.0.1

20 Jun 16:39
Compare
Choose a tag to compare

New release version v1.0.1

Producer Changes

  1. Passing a buffer as a key will not convert it to a string before sending it to Kafka

v1.0.0

01 Jun 20:15
Compare
Choose a tag to compare

New release version v1.0.0

Producer API Changes

  1. Producer write stream is now its own class that has its own producer. Producer methods can be accessed through the member variable.
  • Create one by using Producer.createWriteStream();

Consumer API Changes

  1. Added offset_commit_cb
  2. Rebalance callback now has first parameter as an error object. The error object can be checked to see if it is an assignment or an unassignment
  3. Consumer write stream is now its own class that has its own consumer. Consumer methods can be accessed through the member variable.
  • Create one by using Consumer.createReadStream()
  1. Added query_watermark_offsets support
  2. Added support for seek method, but currently not supported in librdkafka 0.9.5. Will likely be in next release.

v0.10.2

29 Apr 23:20
Compare
Choose a tag to compare

New release version v0.10.2

Producer API Changes

  1. Producer flush method now is called asynchronously and must be provided a callback.

v0.10.10

25 Mar 06:32
Compare
Choose a tag to compare

New release version v0.10.0

API Changes

  1. error event is renamed event.error to show it corresponds with errors reported by the librdkafka internals. Only streams emit events named error now, when there are stream related errors.
  2. Added new error codes for librdkafka.

Consumer API Changes

  1. commit asynchronous methods no longer take a callback, and instead map directly to the librdkafka async commit variants.
  2. Internal queue timeouts no longer considered error worthy for consume methods.

v0.9.0

22 Mar 21:37
Compare
Choose a tag to compare

New release version v0.9.0

Consumer API Changes

  1. commit synchronous methods now throw errors in a similar pattern as the other throwable methods. They will be full librdkafka error objects with error codes, etc. Asynchronous methods are unchanged, as they return error objects in the callback.

Bug fixes

  1. Bug with this binding in producer write stream in previously published (now unpublished) version has been fixed.

v0.8.2

21 Mar 21:12
Compare
Choose a tag to compare

New release version v0.8.2

Producer API Changes

  1. Added new producer method, setPollInterval(interval). If you simply want to poll for events on an interval, you can pass it here without needing to manage connections or disconnections.
  2. Fixed some bugs that would be related to manually connecting/disconnecting when using the producer stream.
  3. Producer stream now only uses topic objects if topic options are provided.

Consumer API Changes

  1. Added new consumer methods, commitMessage and commitMessageSync. When committing a message instead of a topic partition, these methods will commit the proper offsets instead of the off-by-one issue seen prior.

v0.8.0

27 Feb 23:44
Compare
Choose a tag to compare

New release version v0.8.0

API Changes

  1. Produce method now supports sending a timestamp, which is permitted by broker version >= 0.10
    • A side effect of this change is that the opaque parameter has now moved one to the right.
  2. Recommended way to pass a topic is now as a string
    • RdKafka topic objects are now created and destroyed on use so they no longer stop disconnection or deadlock threads while they are waiting to be garbage collected (potential issue). Passing topics as a string avoids this issue. You can still pass topic objects if you need custom config, but there is a performance hit (~10% in most cases).
  3. dr_cb and dr_msg_cb now properly support NULL vs. empty payloads in delivery reports.
  4. Producer.poll must now be called manually. Previously it was being called every time a message was produced, which was a gigantic waste of time and made produce block on occasion.

Under the hood changes

  1. librdkafka upgraded to 0.9.4.
  2. RW locks to make sure produce method no longer blocks.

v0.6.0

16 Nov 18:24
Compare
Choose a tag to compare

Changes:

  1. Producer produce is now a synchronous method that does not do Object enumeration to read its parameters.
  2. Graceful shutdown fixes due to changes in memory allocation in C++
  3. Various performance passes
  4. Mocha-ized end to end unit tests.
  5. Refactoring of C++ code to reduce number of unnecessary classes.