kafka-python v2.0.0 Release Notes

Release Date: 2020-02-10 // 19 days ago
  • 2.0.0 (Feb 10, 2020)

    🚀 This release includes breaking changes for any application code that has not
    💅 migrated from older Simple-style classes to newer Kafka-style classes.

    🗄 Deprecation

    • ✂ Remove deprecated SimpleClient, Producer, Consumer, Unittest (jeffwidman / PR #1196)

    Admin Client

    • 📇 Use the controller for topic metadata requests (TylerLubeck / PR #1995)
    • Implement list_topics, describe_topics, and describe_cluster (TylerLubeck / PR #1993)
    • Implement eq and hash for ACL objects (TylerLubeck / PR #1955)
    • 🛠 Fixes KafkaAdminClient returning IncompatibleBrokerVersion when passing an api_version (ian28223 / PR #1953)
    • ⚡️ Admin protocol updates (TylerLubeck / PR #1948)
    • 🛠 Fix describe config for multi-broker clusters (jlandersen / PR #1869)

    🛠 Miscellaneous Bugfixes / Improvements

    • Enable SCRAM-SHA-256 and SCRAM-SHA-512 for sasl (swenzel / PR #1918)
    • 🛠 Fix slots usage and use more slots (carsonip / PR #1987)
    • 📇 Optionally return OffsetAndMetadata from consumer.committed(tp) (dpkp / PR #1979)
    • 👻 Reset conn configs on exception in conn.check_version() (dpkp / PR #1977)
    • ⏱ Do not block on sender thread join after timeout in producer.close() (dpkp / PR #1974)
    • Implement methods to convert a Struct object to a pythonic object (TylerLubeck / PR #1951)

    📚 Test Infrastructure / Documentation / Maintenance

    • ⚡️ Update 2.4.0 resource files for sasl integration (dpkp)
    • ➕ Add kafka 2.4.0 to CI testing (vvuibert / PR #1972)
    • convert test_admin_integration to pytest (ulrikjohansson / PR #1923)
    • xfail test_describe_configs_topic_resource_returns_configs (dpkp / Issue #1929)
    • ➕ Add crc32c to README and docs (dpkp)
    • Improve docs for reconnect_backoff_max_ms (dpkp / PR #1976)
    • 🛠 Fix simple typo: managementment -> management (timgates42 / PR #1966)
    • 🛠 Fix typos (carsonip / PR #1938)
    • 🛠 Fix doc import paths (jeffwidman / PR #1933)
    • ⚡️ Update docstring to match conn.py's (dabcoder / PR #1921)
    • 📇 Do not log topic-specific errors in full metadata fetch (dpkp / PR #1980)
    • 📊 Raise AssertionError if consumer closed in poll() (dpkp / PR #1978)
    • 🌲 Log retriable coordinator NodeNotReady, TooManyInFlightRequests as debug not error (dpkp / PR #1975)
    • ✂ Remove unused import (jeffwidman)
    • ✂ Remove some dead code (jeffwidman)
    • 🛠 Fix a benchmark to Use print() function in both Python 2 and Python 3 (cclauss / PR #1983)
    • 🛠 Fix a test to use ==/!= to compare str, bytes, and int literals (cclauss / PR #1984)
    • 🛠 Fix benchmarks to use pyperf (carsonip / PR #1986)
    • ✂ Remove unused/empty .gitsubmodules file (jeffwidman / PR #1928)
    • ✂ Remove deprecated ConnectionError (jeffwidman / PR #1816)