|
1 | 1 | Changelog
|
2 | 2 | =========
|
3 | 3 |
|
| 4 | +2.2.0 (Apr 28, 2025) |
| 5 | +#################### |
| 6 | + |
| 7 | +KafkaProducer |
| 8 | +------------- |
| 9 | +* KIP-98: Add idempotent producer support (#2569) |
| 10 | +* KIP-98: Transactional Producer (#2587) |
| 11 | +* KIP-98: Add offsets support to transactional KafkaProducer (#2590) |
| 12 | +* Prefix producer logs w/ client id and transactional id (#2591) |
| 13 | +* KAFKA-5429: Ignore produce response if batch was previously aborted |
| 14 | +* KIP-91: KafkaProducer `delivery_timeout_ms` |
| 15 | +* Default retries -> infinite |
| 16 | +* Expand KafkaProducer docstring w/ idempotent and transactional notes |
| 17 | +* RecordAccumulator: Use helper method to get/set `_tp_locks`; get dq with lock in reenqueue() |
| 18 | + |
| 19 | +KafkaConsumer |
| 20 | +------------- |
| 21 | +* KIP-98: Add Consumer support for `READ_COMMITTED` (#2582) |
| 22 | +* KIP-394: handle `MEMBER_ID_REQUIRED` error w/ second join group request (#2598) |
| 23 | +* KAFKA-5078: Defer fetch record exception if iterator has already moved across a valid record |
| 24 | +* KAFKA-5075: Defer consumer fetcher exception if fetch position has already increased |
| 25 | +* KAFKA-4937: Batch offset fetches in the Consumer |
| 26 | +* KAFKA-4547: Avoid resetting paused partitions to committed offsets |
| 27 | +* KAFKA-6397: Consumer should not block setting positions of unavailable partitions (#2593) |
| 28 | + |
| 29 | +Potentially Breaking Changes (internal) |
| 30 | +--------------------------------------- |
| 31 | +* Rename CorruptRecordException -> CorruptRecordError |
| 32 | +* Rename Coordinator errors to generic not group (#2585) |
| 33 | +* Rename `ClusterMetadata.add_group_coordinator` -> `add_coordinator` + support txn type |
| 34 | +* Use SaslAuthenticationFailedError in kafka.conn connection failure; Drop unused AuthenticationFailedError |
| 35 | +* Remove old/unused errors; reorder; KafkaTimeout -> retriable |
| 36 | +* Drop `log_start_offset` from producer RecordMetadata |
| 37 | + |
| 38 | +Internal |
| 39 | +-------- |
| 40 | +* MemoryRecords iterator; MemoryRecordsBuilder records() helper |
| 41 | +* Convert `DefaultRecordsBuilder.size_in_bytes` to classmethod |
| 42 | + |
| 43 | +Fixes |
| 44 | +----- |
| 45 | +* Resolve datetime deprecation warnings (#2589) |
| 46 | +* Avoid self refcount in log messages; test thread close on all pythons |
| 47 | +* Fix client.wakeup() race from producer/sender close |
| 48 | +* Fix ElectionNotNeededError handling in admin client |
| 49 | + |
| 50 | +Tests |
| 51 | +----- |
| 52 | +* Move integration tests and fixtures to test/integration/; simplify unit fixtures (#2588) |
| 53 | +* Expand Sender test coverage (#2586) |
| 54 | +* py2 test fixups |
| 55 | +* Drop unused KafkaClient import from `test_fetcher` |
| 56 | + |
| 57 | + |
4 | 58 | 2.1.5 (Apr 4, 2025)
|
5 | 59 | ###################
|
6 | 60 |
|
|
0 commit comments