Releases: aio-libs/aiokafka
Releases · aio-libs/aiokafka
Bugfix release
Bugfixes:
- Allow group coordinator to close when all brokers are unavailable (issue #659
and pr #660 by @dkilgore90) - Exclude
.so
from source distribution to fix usage of sdist tarball
(issue #681 and pr #684 by ods) - Add
dataclasses
backport package to dependencies for Python 3.6
(pr #690 by @ods) - Fix initialization without running loop (issue #689 and pr #690 by @ods)
- Fix consumer fetcher for python3.9 (pr #672 by @dutradda)
- Make sure generation and member id are correct after (re)joining group.
(issue #727 and pr #747 by @vangheem)
Deprecation:
- Add deprecation warning when loop argument to AIOKafkaConsumer and
AIOKafkaProducer is passed. It's scheduled for removal in 0.8.0 as a
preparation step towards upcoming Python 3.10 (pr #699 by @ods)
Improved Documentation:
- Update docs and examples to not use deprecated practices like passing loop
explicitly (pr #693 by @ods) - Add docstring for Kafka header support in
Producer.send()
(issue #566 and
pr #650 by @andreportela)
Support for Python 3.8 and 3.9
New features:
- Add support for Python 3.8 and 3.9. (issue #569, pr #669 and #676 by @ods)
- Drop support for Python 3.5. (pr #667 by @ods)
- Add OAUTHBEARER as a new sasl_mechanism. (issue #618 and pr #630 by @oulydna)
Bugfixes:
- Fix memory leak in kafka consumer when consumer is in idle state not consuming any message. (issue #628 and pr #629 by @iamsinghrajat)
Test release to check GitHubActions
v0.6.1.dev0 Add requirements-cython.txt to git
Stability and usage improvements
New features:
- Add async context manager support for both Producer and Consumer. (pr #613 and #494 by @nimish)
- Upgrade to kafka-python version 2.0.0 and set it as non-strict
parameter. (issue #590 by @yumendy and #558 by @originalgremlin) - Make loop argument optional (issue #544)
- SCRAM-SHA-256 and SCRAM-SHA-512 support for SASL authentication (issue #571 and pr #588 by @SukiCZ)
- Added headers param to AIOKafkaProducer.send_and_wait (pr #553 by @megabotan)
- Add
consumer.last_poll_timestamp(partition)
which gives the ms timestamp of the last
update ofhighwater
andlso
. (issue #523 and pr #526 by @aure-olli) - Change all code base to async-await (pr #522)
- Minor: added PR and ISSUE templates to GitHub
Bugfixes:
- Ignore debug package generation on bdist_rpm command. (issue #599 by @gabriel-tincu)
- UnknownMemberId was raised to the user instead of retrying on auto commit. (issue #611)
- Fix issue with messages not being read after subscriptions change with group_id=None. (issue #536)
- Handle
RequestTimedOutError
incoordinator._do_commit_offsets()
method to explicitly mark
coordinator as dead. (issue #584 and pr #585 by @FedirAlifirenko) - Added handling
asyncio.TimeoutError
on metadata request to broker and metadata update.
(issue #576 and pr #577 by @MichalMazurek) - Too many reqs on kafka not available (issue #496 by @lud4ik)
- Consumer.seek_to_committed now returns mapping of committed offsets (pr #531 by @ask)
- Message Accumulator: add_message being recursive eventually overflows (pr #530 by @ask)
Improved Documentation:
- Clarify auto_offset_reset usage. (pr 601 by @dargor)
- Fix spelling errors in comments and documentation using codespell (pr #567 by mauritsvdvijgh)
- Delete old benchmark file (issue #546 by @jeffwidman)
- Fix a few typos in docs (pr #573 and pr #563 by @ultrabug)
- Fix typos, spelling, grammar, etc (pr #545 and pr #547 by @jeffwidman)
- Fix typo in docs (pr #541 by @pablogamboa)
- Fix documentation for benchmark (pr #537 by @abhishekray07)
- Better logging for bad CRC (pr #529 by @ask)
Bugfix release
Bugfixes:
- Fix ConnectionError breaking metadata sync background task (issue #517 and #512)
- Fix event_waiter reference before assignment (pr #504 by @romantolkachyov)
- Bump version of kafka-python
Add SASL support and minor fixes to 0.5.0
New features:
- Add SASL support with both SASL plain and SASL GGSAPI. Support also includes
Broker v0.9.0, but you will need to explicitly passapi_version="0.9"
.
(Big thanks to @cyrbil and @jsurloppe for working on this) - Added support for max_poll_interval_ms and rebalance_timeout_ms settings (
issue #67) - Added pause/resume API for AIOKafkaConsumer. (issue #304)
- Added header support to both AIOKafkaConsumer and AIOKafkaProducer for
brokers v0.11 and above. (issue #462)
Bugfixes:
- Made sure to not request metadata for all topics if broker version is passed
explicitly and is 0.10 and above. (issue #440, thanks to @ulrikjohansson) - Make sure heartbeat task will close if group is reset. (issue #372)
Transactional Producer support
New features:
- Add full support for V2 format messages with a Cython extension. Those are
used for Kafka >= 0.11.0.0 - Added support for transactional producing (issue #182)
- Added support for indempotent producing with
enable_idempotence
parameter - Added support for
fetch_max_bytes
in AIOKafkaConsumer. This can help limit
the amount of data transferred in a single roundtrip to the broker, which is
essential for consumers with a large number of partitions
Bugfixes:
- Fix issue with connections not propagating serialization errors
- Fix issue with
group=None
resetting offsets on every metadata update
(issue #441) - Fix issue with messages not delivered in order when Leader changes (issue
#228) - Fixed version parsing of
api_version
parameter. Before it ignored the
parameter
Memory leak fix
Stability bugfixes and Python version changes
The work here was concentrated on fixing bugs after the coordination refactors on v0.4.0. Hope it will serve you better now!
Bugfix:
- Added error propagation from coordinator to the main consumer. Before consumer
just stopped with error logged. (issue #294) - Fix manual partition assignment, broken in 0.4.0 (issue #394)
- Fixed RecursionError in MessageAccumulator.add_message (issue #409)
- Update kafka-python to latest 1.4.3 and added support for Python3.7
- Dropped support for Python3.3 and Python3.4
Infrastructure:
- Added Kafka 1.0.2 broker for CI test runner
- Refactored Travis CI build pipeline