Releases: eandersson/amqpstorm
Releases · eandersson/amqpstorm
Version 3.1.1
What's Changed
- build a binary wheel and a source tarball by @dimbleby in #151
- Fix race condition shutting down socket by @eandersson in #152
New Contributors
Full Changelog: 3.1...3.1.1
Version 3.1
- Added inline type hints across the public API and shipped
py.typed
so downstream type checkers pick them up (PEP 561). Channel.build_inbound_messagesnow ends cleanly when the channel
or connection is closed via user code (.close()); server- and
network-driven closes still raise as before.check_for_errors
itself is unchanged.- Performance: byte-string accumulation in receive / publish paths
replaced withb''.join(no more O(n²) under non-CPython refcount
semantics); writes usememoryviewslicing; RPC response storage
switched tocollections.dequeso popping multi-frameBasic.Get
results is O(n) instead of O(n²). - Modernized to Python 3.11+ syntax: dropped
(object)bases, switched
to argument-lesssuper(), f-strings, modernwithblocks for
locks. - Packaging migrated from
setup.py/setup.cfgto PEP 621
pyproject.toml; version is now read dynamically from
amqpstorm.__version__. - Documentation: fixed several typos, completed missing
:members:
entries on the management API autodoc, added intersphinx mapping and
short type-hint rendering in the Sphinx config. - SSL: hostname verification now on by default; unknown
cert_reqs
URI values fall back toCERT_REQUIREDinstead ofCERT_NONE. - Switched all elapsed-duration checks (RPC and connection-state
timeouts) fromtime.time()totime.monotonic()so system
clock changes can no longer cause spurious timeouts or hangs.
Version 3.0
- Python 3 only release.
- Added support for pamqp 4.x.
- Improved SSL handling.
Version 2.11.1
Switch back to using select.select by default [#140].
Version 2.11.0
- Added Python 3.13 support.
- Replaced select.select with select.poll on Linux by default.
- Replaced list with collections.deque - Thanks Bernhard Thiel.
- Removed unnecessary lock when building messages.
- Fixed various Python 2.7 tests.
Version 2.10.8
- Fixed bug with multi-threaded basic.consume not always being threadsafe [#132] - Thanks mic1on.
Version 2.10.7
- Fixed bug with heartbeat interval on the client not sent frequently enough [#127] - Thanks Ivan Héda.
- Added support for Python 3.12.
Version 2.10.6
- Fixed deprecated warning when using Python 3.11.
Version 2.10.5
- Added support for bulk removing users with the Management Api.
- Added support to get the Cluster Name using the Management Api.
- Fixed ConnectionUri to default to port 5761 when using ssl [#119] - Thanks s-at-ik.
Version 2.10.4
- Fixed issue with a forcefully closed channel not sending the appropriate response [#114] - Thanks Bernd Höhl.