Skip to content

Version History

3.0.0 — 2024-05-08

  • Change to use ssl.SSLContext since ssl.wrap_socket was deprecated in Python 3.7 and removed in 3.12
  • Drops support for Python < 3.8
  • Adds support for Python 3.10, 3.11, and 3.12
  • Change tests over to use coverage instead of nose

2.0.1 — 2019-08-06

  • Fixed an issue with the IO loop poller on MacOS (#111)

2.0.0 — 2019-04-19

  • Updated to use pamqp>=2.3,<3:
    • Field table keys are now strings and no longer bytes
    • In Python 2.7 if a short-string has UTF-8 characters, it will be a unicode object
  • Field-table integer encoding changes
  • Drops support for Python < 3.4
  • Adds support for Python 3.6 and 3.7

1.0.0 — 2016-10-27

  • Reworked Heartbeat logic to send a heartbeat every interval / 2 seconds when data has not been written to the socket (#70, #74, #98, #99)
  • Improved performance when consuming large messages (#104) — Jelle Aalbers
  • Allow for username and password to be default again (#96, #97) — Grzegorz Śliwiński
  • Cleanup of Connection and Channel teardown (#103)

0.27.1 — 2016-05-12

  • Fix a bug where the IO write trigger socketpair is not being cleaned up on close

0.27.0 — 2016-05-11

  • Added new SimpleChannel class
  • Exception formatting changes
  • Thread locking optimizations
  • Connection shutdown cleanup
  • Message now assigns a UTC timestamp instead of local timestamp if requested (#94)
  • Unquote username and password in URI (#93) — sunbit
  • Connections now allow for a configurable timeout (#84, #85) — vmarkovtsev
  • Bugfix for basic_publish (#92) — canardleteer
  • Added args property to Connection (#88) — vmarkovtsev
  • Fix locale in connection setup from causing hanging (#87) — vmarkovtsev
  • Fix heartbeat behavior (#69, #70, #74)
  • Cancel consuming in case of exceptions (#68) — kmelnikov
  • Documentation correction (#79) — jonahbull

0.26.2 — 2015-03-17

  • Fix behavior for Basic.Return frames sent from RabbitMQ
  • Pin pamqp 1.6.1 fixing an issue with max-channels

0.26.1 — 2015-03-09

  • Add the ability to interrupt rabbitpy when waiting on a frame (#38)
  • Use a custom base class for all Exceptions (#57) — Jeremy Tillman
  • Fix for consumer example in documentation (#60) — Michael Becker
  • Add rabbitpy.amqp module for unopinionated access to AMQP API
  • Refactor how client side heartbeat checking is managed
  • Address an issue when client side channel max count is not set
  • Clean up handling of remote channel and connection closing
  • Fix URI query parameter names to match AMQP URI spec
  • PYPY behavior fixes related to garbage collection

0.25.0 — 2014-12-16

  • Acquire a lock when creating a new channel to fix multi-threaded channel creation (#56)
  • Add client side heartbeat checking (#55)
  • Fix a bug where Basic.Nack checking was checking for the wrong string
  • Add support for Python3 memoryviews for the message body (#50)
  • Improve Python3 behavior in maybe_utf8_encode

0.24.0 — 2014-12-12

  • Update to reflect changes in pamqp 1.6.0

0.23.0 — 2014-11-05

  • Fix a bug where message body length was assigned before converting unicode to bytes (#49)
  • Fix the automatic coercion of header types to UTF-8 encoded bytes (#49)
  • Raise TypeError if a timestamp property cannot be converted

0.22.0 — 2014-11-04

  • Address an issue when RabbitMQ is configured with a max-frame-size of 0 (#48)
  • Do not lose the traceback when exiting a context manager due to an exception (#46)
  • Adds server capability checking in Channel methods
  • Pin pamqp version range to >= 1.4, < 2.0

0.21.1 — 2014-10-23

  • Clean up KQueue issues (#44)
  • Remove sockets from KQueue when in error state
  • Handle socket connect errors more cleanly (#44)

0.21.0 — 2014-10-21

  • Address a possible edge case where message frames can be interspersed when publishing in a multi-threaded environment
  • Add exception handling around select.error (#43)
  • Add a new opinionated flag in Message construction
  • Add wheel distribution

0.20.0 — 2014-10-01

  • Added support for KQueue and Poll in IOLoop
  • Fixed issues with publishing large messages (#37)
  • Add exchange property to Message (#40)
  • Add out-of-band consumer cancellation with Queue.stop_consuming() (#38, #39)
  • Significantly increase test coverage

Earlier Releases

  • 0.19.0 — Fix the socket read/write buffer size (#35)
  • 0.18.1 — Fix unicode message body encoding in Python 2
  • 0.18.0 — Make IO thread daemonic; add Message.redelivered property
  • 0.17.0 — Refactor cross-thread communication for RabbitMQ invoked RPC methods
  • 0.16.0 — Fix an issue with no_ack=True consumer cancellation; fix exchange and queue unbinding
  • 0.15.0 — Change default durability for Exchange and Queue to False
  • 0.14.0 — Add support for authentication_failure_close; add consumer priorities
  • 0.13.0 — Validate heartbeat is always an integer
  • < 0.5.0 — Previously called rmqid