NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
PyPI · #1496 most downloaded on PyPI
Wrapper around the aiormq for asyncio and humans
Last release 7 days ago
27 Sep 2026
Ships fairly regularly
a new release about every 3 months
Most releases are documented
notes for 53 of the last 60 stable releases
1 version withdrawn
withdrawn after publishing
10 years old
223 releases · first in 2016
Require aiormq consumer publishing error propagation by @mosquito in #716
Full Changelog: 10.0.4...10.1.0
One column per quarter.
Fix reconnect when topology depends on another channel by @mosquito in #713
Preserve processing errors when the delivery channel closes by @mosquito in #712
Full Changelog: 10.0.2...10.0.3
fix: declare ready() on AbstractRobustChannel and keep robust types through await and async with by @mosquito in #708
Full Changelog: 10.0.1...10.0.2
fix: use TypeVar for connect and connect_robust return types by @hasansezertasan in #699
Full Changelog: 10.0.0...10.0.1
Add aio-pika-batch to related projects by @g-mill in #700
Include license file in built distributions via project.license-files by @julia-thorn in #698
Full Changelog: 9.6.1...9.6.2
Migrate documentation from RST to Markdown (MyST) by @mosquito in #697
Split log.exception calls into an error and a debug by @zware in #693
close_called property to AbstractConnection and Connection to distinguish intentional vs. automatic connection closureslog.exception calls into error-level message and debug-level traceback #693Nothing published for this version
Nothing published for this version
Nothing published for this version
Replace WeakSet with set for robust channels tracking #666 by shushpanov
fix: RobustChannel should not reopen after close() call #658
* python3.8-eol #657 * self-hosted docs
* Fix documentation links
* Fix documentation links
Fix two bugs by adding more type hints to CallbackCollection. @Darsstar
CallbackCollection. @Darsstarfix: raise ChannelInvalidStateError at exchange.publish with closed channel #637
fix: typo from somple to simple by @zhaowen-huang in https://github.com/mosquito/aio-pika/pull/625
Full Changelog: https://github.com/mosquito/aio-pika/compare/9.4.1...9.4.2
Do not use deprecated datetime.utcnow and datetime.utcfromtimestamp by @decaz in https://github.com/mosquito/aio-pika/pull/610
Full Changelog: https://github.com/mosquito/aio-pika/compare/9.4.0...9.4.1
* drop python 3.7 support * update aiormq to 6.8.0
Define empty __slots__ in base classes #598
new: add custom exchanges to rpc pattern #377 by @cloud-rocket
Fix restore bug of RobustChannel #578 by @aozupek
Fix bug with RPC when handling on_close with a RobustConnection #573 by @CodeCorrupt
on_close with a RobustConnection #573 by @CodeCorruptFix reopen of robust channel after close #571 by @decaz. Fixes #570
URL params passing to aiormq #569
Connection.KWARGS_TYPES renamed to Connection.PARAMETERS and rework it to dataclassConnection._parse_kwargs renamed to Connection._parse_parametersFix race condition in RobustChannel in reopen/ready #566 by @isra17
use fork friendly random robust queue generation way #560
Ported publisher confirms tutorial by @MaPePeR #550
aio_pika.patterns.RPC can not serialize the result #552* Fix badges in docs
Upgrade requirements in poetry.lock
The aio_pika.Channel.channel property is deprecated. Use aio_pika.Channel.get_underlay_chanel() instead.
The bulk of the changes are related to how the library entities are now interconnected. In previous versions of aio_pika.Channel instances not contains a link to the aio_pika.Connection instances for now is contains it.
While I don't want custom code to work directly with the aiormq.Channel instance, this was a public API and I should warn you about the change here. The aio_pika.Channel.channel property is deprecated. Use aio_pika.Channel.get_underlay_chanel() instead.
Now all library entities already use this method.
* Update aiormq version
Amend Exchange.__repr__ to include class name #527 Also switch to f-strings rather than %-formatting, modelled after Queue.__repr__.
aio_pika.connect_robust #531queue.get() #542Prevent 'Task exception was never retrieved' #524 If future.exception() is not called (even on cancelled futures), it seems Python will then log 'Task
* fix README badge * upgrade requirements
RPCs: Show exceptions on Host (remote side) #503
patterns/master.py #523Do not nack if consumer is no_ack in QueueIterator #521
change classifiers in pyproject.toml
aio_pika.message.Message.headers_raw - prints deprecation warning
The main goal of this release is the migration to poetry and stronger type
checking with mypy.
User code should remain compatible, just test it with mypy. The tests still work the same, without public API changes, this indicates that your code should work without changes, but does not prove it.
aio_pika.message.HeaderProxy - removedaio_pika.message.header_converter - removedaio_pika.message.format_headers - removedaio_pika.message.Message.headers_raw - prints deprecation warningaio_pika.abc.AbstractMessage.headers_raw - removedFix getting futures exceptions #509
aiormq~=6.6.3 #512Nothing published for this version
Fix memory leaks around channel close callbacks #496
Fix memory leak when callback collections is chaining #495
Prevent "Task exception was never retrieved" on timeout #492
Fix memory leaks on channel close #491
allow passing ssl_context to the connection #474. A default parameter has been added to the public API, this does not break anything unless your code
Generated anonymous queue name may conflict #486
Bump aiormq~=6.4.0 with connection blocking feature
aiormq~=6.4.0 with connection blocking featureConnection.update_secret method (#481)cannot use client_properties issue #469
linter fixes in aio_pika.rpc.__all__
aio_pika.rpc.__all__…with minimal changes, such as replacing removed deprecated functions with alternatives.
Release notes
In this release, there are many changes to the internal API and bug fixes related to sudden disconnection and correct recovery after reconnection.
Unfortunately, the behavior that was in version 7.x was slightly affected. It's the reason the major version has been updated.
The entire set of existing tests passes with minimal changes, therefore, except for some minor changes in behavior, the user code should work either without any modifications or with minimal changes, such as replacing removed deprecated functions with alternatives.
This release has been already tested in a working environment, and now it seems that we have completely resolved all the known issues related to recovery after network failures.
Changes:
UnderlayChannel and UnderlayConneciton, this is NamedTuples
contains all connection and channel related properties.
The aiormq.Connection and aiormq.Channel objects
are now packaged in this NamedTuples and can be atomically assigned
to aio_pika.Connection and aio_pika.Channel objects.
The main benefit is the not needed to add locks during the connection,
in the best case, the container object is assigned to callee as usual,
however, if something goes wrong during the connection, there is no need to
clear something in aio_pika.RobustConnection or aio_pika.RobustChannel.__init__ method is now a part of abstract classes for most
aio_pika entities.aio_pika.Channel
and aio_pika.Connection. Now you can't get a aio_pika.Connection
instance from the aio_pika.Channel instance.add_close_callback and remove_close_callback methods
in aio_pika.Channel.
Use aio_pika.Channel.close_callbacks.add(callback, ...) and
aio_pika.Channel.close_callbacks.remove(callback, ...) instead.aio_pika.RobustChannel that caused default_exchane
broken after reconnecting.publisher_confirms property of aio_pika.Channel is public now.get_exchange_name is public now.OneShotCallback helps, for example, to call all the closing
callbacks at the channel if the Connection was unexpectedly closed, and
the channel closing frame did not come explicitly.Nothing published for this version
Nothing published for this version
Make aio_pika.patterns.rpc more extendable.
aio_pika.patterns.rpc more extendable.Nothing published for this version
Nothing published for this version
* Fixes in documentation
Your coding agent can read these notes before it upgrades. Set up the MCP server →