|
1 | 1 | Changelog
|
2 | 2 | =========
|
3 | 3 |
|
| 4 | +2.1.0 (Mar 14, 2025) |
| 5 | +#################### |
| 6 | + |
| 7 | +Support Kafka Broker 2.1 API Baseline |
| 8 | +------------------------------------- |
| 9 | +* Add baseline leader_epoch support for ListOffsets v4 / FetchRequest v10 (#2511) |
| 10 | +* Support OffsetFetch v5 / OffsetCommit v6 (2.1 baseline) (#2505) |
| 11 | +* Support 2.1 baseline consumer group apis (#2503) |
| 12 | +* Support FindCoordinatorRequest v2 in consumer and admin client (#2502) |
| 13 | +* Support ListOffsets v3 in consumer (#2501) |
| 14 | +* Support Fetch Request/Response v6 in consumer (#2500) |
| 15 | +* Add support for Metadata Request/Response v7 (#2497) |
| 16 | +* Implement Incremental Fetch Sessions / KIP-227 (#2508) |
| 17 | +* Implement client-side connection throttling / KIP-219 (#2510) |
| 18 | +* Add KafkaClient.api_version(operation) for best available from api_versions (#2495) |
| 19 | + |
| 20 | +Consumer |
| 21 | +-------- |
| 22 | +* Timeout coordinator poll / ensure_coordinator_ready / ensure_active_group (#2526) |
| 23 | +* Add optional timeout_ms kwarg to remaining consumer/coordinator methods (#2544) |
| 24 | +* Check for coordinator.poll failure in KafkaConsumer |
| 25 | +* Only mark coordinator dead if connection_delay > 0 (#2530) |
| 26 | +* Delay group coordinator until after bootstrap (#2539) |
| 27 | +* KAFKA-4160: Ensure rebalance listener not called with coordinator lock (#1438) |
| 28 | +* Call default_offset_commit_callback after `_maybe_auto_commit_offsets_async` (#2546) |
| 29 | +* Remove legacy/v1 consumer message iterator (#2543) |
| 30 | +* Log warning when attempting to list offsets for unknown topic/partition (#2540) |
| 31 | +* Add heartbeat thread id to debug logs on start |
| 32 | +* Add inner_timeout_ms handler to fetcher; add fallback (#2529) |
| 33 | + |
| 34 | +Producer |
| 35 | +-------- |
| 36 | +* KafkaProducer: Flush pending records before close() (#2537) |
| 37 | +* Raise immediate error on producer.send after close (#2542) |
| 38 | +* Limit producer close timeout to 1sec in __del__; use context managers to close in test_producer |
| 39 | +* Use NullLogger in producer atexit cleanup |
| 40 | +* Attempt to fix metadata race condition when partitioning in producer.send (#2523) |
| 41 | +* Remove unused partial KIP-467 implementation (ProduceResponse batch error details) (#2524) |
| 42 | + |
| 43 | +AdminClient |
| 44 | +----------- |
| 45 | +* Implement perform leader election (#2536) |
| 46 | +* Support delete_records (#2535) |
| 47 | + |
| 48 | +Networking |
| 49 | +---------- |
| 50 | +* Call ApiVersionsRequest during connection, prior to Sasl Handshake (#2493) |
| 51 | +* Fake api_versions for old brokers, rename to ApiVersionsRequest, and handle error decoding (#2494) |
| 52 | +* Debug log when skipping api_versions request with pre-configured api_version |
| 53 | +* Only refresh metadata if connection fails all dns records (#2532) |
| 54 | +* Support connections through SOCKS5 proxies (#2531) |
| 55 | +* Fix OverflowError when connection_max_idle_ms is 0 or inf (#2538) |
| 56 | +* socket.setblocking for eventlet/gevent compatibility |
| 57 | +* Support custom per-request timeouts (#2498) |
| 58 | +* Include request_timeout_ms in request debug log |
| 59 | +* Support client.poll with future and timeout_ms |
| 60 | +* mask unused afi var |
| 61 | +* Debug log if check_version connection attempt fails |
| 62 | + |
| 63 | +SASL Modules |
| 64 | +------------ |
| 65 | +* Refactor Sasl authentication with SaslMechanism abstract base class; support SaslAuthenticate (#2515) |
| 66 | +* Add SSPI (Kerberos for Windows) authentication mechanism (#2521) |
| 67 | +* Support AWS_MSK_IAM authentication (#2519) |
| 68 | +* Cleanup sasl mechanism configuration checks; fix gssapi bugs; add sasl_kerberos_name config (#2520) |
| 69 | +* Move kafka.oauth.AbstractTokenProvider -> kafka.sasl.oauth.AbstractTokenProvider (#2525) |
| 70 | + |
| 71 | +Testing |
| 72 | +------- |
| 73 | +* Bump default python to 3.13 in CI tests (#2541) |
| 74 | +* Update pytest log_format: use logger instead of filename; add thread id |
| 75 | +* Improve test_consumer_group::test_group logging before group stabilized (#2534) |
| 76 | +* Limit test duration to 5mins w/ pytest-timeout |
| 77 | +* Fix external kafka/zk fixtures for testing (#2533) |
| 78 | +* Disable zookeeper admin server to avoid port conflicts |
| 79 | +* Set default pytest log level to debug |
| 80 | +* test_group: shorter timeout, more logging, more sleep |
| 81 | +* Cache servers/dist in github actions workflow (#2527) |
| 82 | +* Remove tox.ini; update testing docs |
| 83 | +* Use thread-specific client_id in test_group |
| 84 | +* Fix subprocess log warning; specify timeout_ms kwarg in consumer.poll tests |
| 85 | +* Only set KAFKA_JVM_PERFORMANCE_OPTS in makefile if unset; add note re: 2.0-2.3 broker testing |
| 86 | +* Add kafka command to test.fixtures; raise FileNotFoundError if version not installed |
| 87 | + |
| 88 | +Documentation |
| 89 | +------------- |
| 90 | +* Improve ClusterMetadata docs re: node_id/broker_id str/int types |
| 91 | +* Document api_version_auto_timeout_ms default; override in group tests |
| 92 | + |
| 93 | +Fixes |
| 94 | +----- |
| 95 | +* Signal close to metrics expire_loop |
| 96 | +* Add kafka.util timeout_ms_fn |
| 97 | +* fixup TopicAuthorizationFailedError construction |
| 98 | +* Fix lint issues via ruff check (#2522) |
| 99 | +* Make the "mock" dependency optional (only used in Python < 3.3). (#2518) |
| 100 | + |
| 101 | + |
4 | 102 | 2.0.6 (Mar 4, 2025)
|
5 | 103 | ###################
|
6 | 104 |
|
|
0 commit comments