Skip to content

Releases: eandersson/amqpstorm

Version 3.1.1

24 May 10:03

Choose a tag to compare

What's Changed

New Contributors

Full Changelog: 3.1...3.1.1

Version 3.1

22 May 15:29

Choose a tag to compare

  • Added inline type hints across the public API and shipped py.typed
    so downstream type checkers pick them up (PEP 561).
  • Channel.build_inbound_messages now 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 with b''.join (no more O(n²) under non-CPython refcount
    semantics); writes use memoryview slicing; RPC response storage
    switched to collections.deque so popping multi-frame Basic.Get
    results is O(n) instead of O(n²).
  • Modernized to Python 3.11+ syntax: dropped (object) bases, switched
    to argument-less super(), f-strings, modern with blocks for
    locks.
  • Packaging migrated from setup.py / setup.cfg to 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 to CERT_REQUIRED instead of CERT_NONE.
  • Switched all elapsed-duration checks (RPC and connection-state
    timeouts) from time.time() to time.monotonic() so system
    clock changes can no longer cause spurious timeouts or hangs.

Version 3.0

23 Apr 10:49

Choose a tag to compare

  • Python 3 only release.
  • Added support for pamqp 4.x.
  • Improved SSL handling.

Version 2.11.1

09 Apr 09:35
352c4c8

Choose a tag to compare

Switch back to using select.select by default [#140].

Version 2.11.0

13 Oct 13:05
9068ca2

Choose a tag to compare

  • 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

26 Jul 15:06

Choose a tag to compare

  • Fixed bug with multi-threaded basic.consume not always being threadsafe [#132] - Thanks mic1on.

Version 2.10.7

21 Nov 15:21

Choose a tag to compare

  • 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

02 Jan 13:13

Choose a tag to compare

  • Fixed deprecated warning when using Python 3.11.

Version 2.10.5

14 Aug 21:16

Choose a tag to compare

  • 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

20 Nov 06:20

Choose a tag to compare

  • Fixed issue with a forcefully closed channel not sending the appropriate response [#114] - Thanks Bernd Höhl.