Releases: Blizzard/node-rdkafka
Releases · Blizzard/node-rdkafka
v1.0.5
New release version v1.0.5. This release note includes changes from v1.0.2 - v1.0.5
Consumer Changes
- Bug fix for custom rebalance callbacks where assignments were not being set. (v1.0.5)
- 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) - Fixed callback "leak" in read stream under high message volume (v1.0.3)
v1.0.1
New release version v1.0.1
Producer Changes
- Passing a buffer as a key will not convert it to a string before sending it to Kafka
v1.0.0
New release version v1.0.0
Producer API Changes
- 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
- Added
offset_commit_cb
- 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
- 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()
- Added
query_watermark_offsets
support - Added support for seek method, but currently not supported in librdkafka 0.9.5. Will likely be in next release.
v0.10.2
New release version v0.10.2
Producer API Changes
- Producer flush method now is called asynchronously and must be provided a callback.
v0.10.10
New release version v0.10.0
API Changes
error
event is renamedevent.error
to show it corresponds with errors reported by thelibrdkafka
internals. Only streams emit events namederror
now, when there are stream related errors.- Added new error codes for librdkafka.
Consumer API Changes
commit
asynchronous methods no longer take a callback, and instead map directly to thelibrdkafka
async commit variants.- Internal queue timeouts no longer considered error worthy for consume methods.
v0.9.0
New release version v0.9.0
Consumer API Changes
commit
synchronous methods nowthrow
errors in a similar pattern as the other throwable methods. They will be fulllibrdkafka
error objects with error codes, etc. Asynchronous methods are unchanged, as they return error objects in the callback.
Bug fixes
- Bug with
this
binding in producer write stream in previously published (now unpublished) version has been fixed.
v0.8.2
New release version v0.8.2
Producer API Changes
- 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. - Fixed some bugs that would be related to manually connecting/disconnecting when using the producer stream.
- Producer stream now only uses topic objects if topic options are provided.
Consumer API Changes
- Added new consumer methods,
commitMessage
andcommitMessageSync
. 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
New release version v0.8.0
API Changes
- 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.
- 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).
dr_cb
anddr_msg_cb
now properly supportNULL
vs.empty
payloads in delivery reports.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 madeproduce
block on occasion.
Under the hood changes
librdkafka
upgraded to 0.9.4.- RW locks to make sure produce method no longer blocks.
v0.6.0
Changes:
- Producer produce is now a synchronous method that does not do Object enumeration to read its parameters.
- Graceful shutdown fixes due to changes in memory allocation in C++
- Various performance passes
- Mocha-ized end to end unit tests.
- Refactoring of C++ code to reduce number of unnecessary classes.