kafka-python v1.4.6 Release Notes

Release Date: 2019-04-02 // about 5 years ago
  • 1.4.6 (Apr 2, 2019)

    ๐Ÿš€ This is a patch release primarily focused on bugs related to concurrency,
    โœ… SSL connections and testing, and SASL authentication.
    Major thanks to @pt2pham , @isamaru , @braedon , @gingercookiemage , for submitting
    PRs to help fix many of these issues. And major thanks to everyone that
    submitted bug reports and issues. And thanks always to @jeffwidman and @tvoinarovskyi for code
    โœ… reviews, comments, testing, debugging, and helping to maintain this project!

    Client Concurrency Issues (Race Conditions / Deadlocks)

    • ๐Ÿ›  Fix race condition in protocol.send_bytes (isamaru / PR #1752)
    • ๐Ÿ”„ Do not call state_change_callback with lock (dpkp / PR #1775)
    • โž• Additional BrokerConnection locks to synchronize protocol/IFR state (dpkp / PR #1768)
    • Send pending requests before waiting for responses (dpkp / PR #1762)
    • Avoid race condition on client._conns in send() (dpkp / PR #1772)
    • ๐Ÿ”’ Hold lock during client.check_version (dpkp / PR #1771)

    Producer Wakeup / TimeoutError

    • Dont wakeup during maybe_refresh_metadata -- it is only called by poll() (dpkp / PR #1769)
    • Dont do client wakeup when sending from sender thread (dpkp / PR #1761)

    โœ… SSL - Python3.7 Support / Bootstrap Hostname Verification / Testing

    • Wrap SSL sockets after connecting for python3.7 compatibility (dpkp / PR #1754)
    • ๐Ÿ‘ Allow configuration of SSL Ciphers (dpkp / PR #1755)
    • ๐Ÿ“‡ Maintain shadow cluster metadata for bootstrapping (dpkp / PR #1753)
    • โœ… Generate SSL certificates for local testing (dpkp / PR #1756)
    • ๐Ÿ“‡ Rename ssl.keystore.location and ssl.truststore.location config files (dpkp)
    • Reset reconnect backoff on SSL connection (dpkp / PR #1777)

    ๐Ÿ›  SASL - OAuthBearer support / api version bugfix

    • ๐Ÿ›  Fix 0.8.2 protocol quick detection / fix SASL version check (dpkp / PR #1763)
    • โšก๏ธ Update sasl configuration docstrings to include supported mechanisms (dpkp)
    • ๐Ÿ‘Œ Support SASL OAuthBearer Authentication (pt2pham / PR #1750)

    ๐Ÿ›  Miscellaneous Bugfixes

    • ๐Ÿ“‡ Dont force metadata refresh when closing unneeded bootstrap connections (dpkp / PR #1773)
    • Fix possible AttributeError during conn._close_socket (dpkp / PR #1776)
    • Return connection state explicitly after close in connect() (dpkp / PR #1778)
    • ๐Ÿ›  Fix flaky conn tests that use time.time (dpkp / PR #1758)
    • โž• Add py to requirements-dev (dpkp)
    • ๐Ÿ›  Fixups to benchmark scripts for py3 / new KafkaFixture interface (dpkp)