kafka-python v0.9.4 Release Notes

Release Date: 2015-06-11 // almost 9 years ago
  • Consumers

    • ๐Ÿ”จ Refactor SimpleConsumer internal fetch handling (dpkp PR 399)
    • Handle exceptions in SimpleConsumer commit() and reset_partition_offset() (dpkp PR 404)
    • ๐Ÿ‘Œ Improve FailedPayloadsError handling in KafkaConsumer (dpkp PR 398)
    • KafkaConsumer: avoid raising KeyError in task_done (dpkp PR 389)
    • ๐Ÿ”ง MultiProcessConsumer -- support configured partitions list (dpkp PR 380)
    • ๐Ÿ›  Fix SimpleConsumer leadership change handling (dpkp PR 393)
    • ๐Ÿ›  Fix SimpleConsumer connection error handling (reAsOn2010 PR 392)
    • ๐Ÿ‘Œ Improve Consumer handling of 'falsy' partition values (wting PR 342)
    • ๐Ÿ›  Fix _offsets call error in KafkaConsumer (hellais PR 376)
    • ๐Ÿ›  Fix str/bytes bug in KafkaConsumer (dpkp PR 365)
    • Register atexit handlers for consumer and producer thread/multiprocess cleanup (dpkp PR 360)
    • Always fetch commit offsets in base consumer unless group is None (dpkp PR 356)
    • Stop consumer threads on delete (dpkp PR 357)
    • Deprecate metadata_broker_list in favor of bootstrap_servers in KafkaConsumer (dpkp PR 340)
    • ๐Ÿ‘Œ Support pass-through parameters in multiprocess consumer (scrapinghub PR 336)
    • ๐Ÿ‘€ Enable offset commit on SimpleConsumer.seek (ecanzonieri PR 350)
    • ๐Ÿ‘Œ Improve multiprocess consumer partition distribution (scrapinghub PR 335)
    • Ignore messages with offset less than requested (wkiser PR 328)
    • ๐Ÿ– Handle OffsetOutOfRange in SimpleConsumer (ecanzonieri PR 296)

    Producers

    • โž• Add Murmur2Partitioner (dpkp PR 378)
    • ๐ŸŒฒ Log error types in SimpleProducer and SimpleConsumer (dpkp PR 405)
    • SimpleProducer support configuration of fail_on_error (dpkp PR 396)
    • ๐Ÿ—„ Deprecate KeyedProducer.send() (dpkp PR 379)
    • Further improvements to async producer code (dpkp PR 388)
    • โž• Add more configuration parameters for async producer (dpkp)
    • ๐Ÿ—„ Deprecate SimpleProducer batch_send=True in favor of async (dpkp)
    • ๐Ÿ‘Œ Improve async producer error handling and retry logic (vshlapakov PR 331)
    • ๐Ÿ‘Œ Support message keys in async producer (vshlapakov PR 329)
    • ๐Ÿ‘‰ Use threading instead of multiprocessing for Async Producer (vshlapakov PR 330)
    • Stop threads on del (chmduquesne PR 324)
    • ๐Ÿ›  Fix leadership failover handling in KeyedProducer (dpkp PR 314)

    KafkaClient

    • โž• Add .topics property for list of known topics (dpkp)
    • ๐Ÿ›  Fix request / response order guarantee bug in KafkaClient (dpkp PR 403)
    • Improve KafkaClient handling of connection failures in _get_conn (dpkp)
    • ๐Ÿ“‡ Client clears local metadata cache before updating from server (dpkp PR 367)
    • ๐Ÿ‘ KafkaClient should return a response or error for each request - enable better retry handling (dpkp PR 366)
    • ๐Ÿ‘Œ Improve str/bytes conversion in KafkaClient and KafkaConsumer (dpkp PR 332)
    • Always return sorted partition ids in client.get_partition_ids_for_topic() (dpkp PR 315)

    ๐Ÿ“š Documentation

    • ๐Ÿ“š Cleanup Usage Documentation
    • ๐Ÿ‘Œ Improve KafkaConsumer documentation (dpkp PR 341)
    • ๐Ÿ“š Update consumer documentation (sontek PR 317)
    • โž• Add doc configuration for tox (sontek PR 316)
    • Switch to .rst doc format (sontek PR 321)
    • ๐Ÿ›  Fixup google groups link in README (sontek PR 320)
    • ๐Ÿ“š Automate documentation at kafka-python.readthedocs.org

    Internals

    • โœ… Switch integration testing from 0.8.2.0 to 0.8.2.1 (dpkp PR 402)
    • ๐Ÿ›  Fix most flaky tests, improve debug logging, improve fixture handling (dpkp)
    • ๐Ÿ’… General style cleanups (dpkp PR 394)
    • ๐Ÿ›ฐ Raise error on duplicate topic-partition payloads in protocol grouping (dpkp)
    • ๐Ÿ‘‰ Use module-level loggers instead of simply 'kafka' (dpkp)
    • Remove pkg_resources check for version at runtime (dpkp PR 387)
    • ๐Ÿ‘‰ Make external API consistently support python3 strings for topic (kecaps PR 361)
    • ๐Ÿ›  Fix correlation id overflow (dpkp PR 355)
    • Cleanup kafka/common structs (dpkp PR 338)
    • Use context managers in gzip_encode / gzip_decode (dpkp PR 337)
    • ๐Ÿ’พ Save failed request as FailedPayloadsError attribute (jobevers PR 302)
    • โœ‚ Remove unused kafka.queue (mumrah)