Releases: flightaware/kafkatcl
Releases · flightaware/kafkatcl
Kafkatcl release v2.4.3
Kafkatcl Release v2.4.2
Clean up event handling and check for deletion of a subscriber inside a callback from the same subscriber.
Kafkatcl release 2.4.0
Adds a "creator" subcommand to run commands on the creator object that created a topic consumer or producer object.
Kafkatcl version 2.3.0
- Fix crash in deleting producer topic handle by checking that it's not a consumer topic handle before cleaning up consumer topic structure elements.
- New API - subscriber_object watermarks
- New API - received Kafka messages contain "timestamp" element
Kafkatcl version 2.2.1
- Bug fixes to new subscriber code.
- Make offset handling consistently accept symbolic offsets.
Kafkatcl version 2.2.0
Implement new "subscriber" API, remove internal use of deprecated rd_kafka_errno2err API.
Kafkatcl version 2.1.0
Errors in batch commands are now returned inline to the code block, as arrays containing elements "error", "code", and "message".
Kafkatcl version 2.0.1
- Added aliases for consumer methods for compatibility with programs written for kafkatcl 1.5 and earlier.
Kafkatcl version 2.0
Release 2.0 provides compatibility with the kafka C library librdkafka 0.9.0 and above. (Use kafkatcl v1.5 for compatibility with librdkafka 0.8 and below.)
The consumer object's consume_start, consume_start_queue and consume_stop methods have been renamed to start, start_queue and stop.
Kafkatcl version 1.5
- Make error callbacks consistent with message-error callbacks.
- Include symbolic error code / readable error code in error callbacks.
- Fixes for memory leaks in some consume paths.
- Now able to compile with librdkafka 0.9.0.
- clear magic numbers in topic, handle and queue structures upon deletion to help catch attempted structure reuse after freeing.
- add assertions for magic numbers in a couple places.
- Fix double free in kafkatcl_consume_stop_all_partitions.
- Delete pending events upon consume_stop.
- Fix up consume_batch so it doesn't pass empty messages to the script block.
- Rearrange the cleanup so extra unconsumed messages are cleaned up afterwards, rather than telling the loop to skip stuff.
- Make the queue version consistent with the nonqueue version.
- Continue consuming after seeing a partition EOF (maybe there's an error or something following)
- Take a copy of 'reason' in the error callback before returning. (librdkafka frees the error reason on return from the error callback but we need our copy to survive until the error eventProc is called.)
- Check return value of kafkatcl_refresh_metadata.
- Make sure we never have a destroyed copy of the metadata left behind.
- Allocate space for a callback event's payload/key as part of the event. (This avoids a leak if Tcl_DeleteEvents() is called.)
- Remove pendingCallbackCount and avoid some heap corruption.