Skip to content

Releases: gmr/pamqp

The "Reject without Requeue Bugfix" release

07 Aug 16:59
@gmr gmr
Compare
Choose a tag to compare

This release fixes an issue with Basic.Reject requeue=False always being set to True (#29 - eandersson)

The v3 Release

04 Aug 21:36
@gmr gmr
Compare
Choose a tag to compare

This represents the first stable release of the 3.0 branch for pamqp. It is Python 3.6+ only and is focused on protocol correctness and completeness.

Changes

  • Bugfix for encoding of unsigned small integers being treated as signed small integers
  • Updated tests around timezone behavior issues

The "Nearing Release" Release

12 Mar 01:24
@gmr gmr
Compare
Choose a tag to compare
Pre-release
  • Rename pamqp.frame._frame_parts to pamqp.frame.frame_parts (#15 again)
  • pamqp.commands.Basic.QoS.global_ renamed to pamqp.commands.Basic.QoS.globally
  • Removed mypy checking due to errors in mypy and recursive type aliases
  • Added pamqp/py.typed for PEP-561 compatibility (#21 - michael-k)

More docs, cleaner, stricter code

04 Jan 01:26
@gmr gmr
Compare
Choose a tag to compare
Pre-release
  • Refactor codegen.py
  • Revert the behaviors added in 3.0.0a2 with regard to documented defaults and None
  • Use amqp0-9-1.extended.xml instead of amqp-0-9-1.xml to get the documentation for RabbitMQ added classes/methods
  • Add strict value checking for deprecated values
  • Remove empty __init__ functions from method classes

Fix Basic.Properties.__eq__

31 Dec 20:59
@gmr gmr
Compare
Choose a tag to compare
Pre-release
  • Make comparison of Basic.Properties against other object types raise NotImplementedError
  • Return test coverage to 100%

Stricter AMQP Rule Enforcement

31 Dec 20:03
@gmr gmr
Compare
Choose a tag to compare
Pre-release
  • Added mypy as part of the test pipeline and made updates based upon its findings.
  • Added length checking and regex checking for values specified in AMQP spec
  • Fixed some of the type annotations added in 3.0.0a0
  • Fixed some of the documentation and label usage in pamqp.commands
  • Removed redundant inline documentation in pamqp.commands
  • Updated default values to only reflect defaults specified in the XML and JSON specs. If no default is specified, the value will now be None.

The don't forget your name, ContentBody, release

18 Dec 16:58
@gmr gmr
Compare
Choose a tag to compare
3.0.0a1

Add downloads

3.0.0a0

17 Dec 16:49
@gmr gmr
Compare
Choose a tag to compare
3.0.0a0 Pre-release
Pre-release
  • Update to support Python 3.6+ only
  • Add typing annotations to all modules, callables, and classes
  • Moved exceptions from pamqp.specification to pamqp.exceptions
  • Moved constants from pamqp.specification to pamqp.constants
  • Moved base classes out of pamqp.specification to pamqp.base
  • Changed the structure of nested classes for AMQP Commands (Classes & Methods) in pamqp.specification to functions in pamqp.commands
  • Renamed pamqp.specification.ERRORS to pamqp.exceptions.CLASS_MAPPING
  • Remove convenience exports of pamqp.headers.ContentHeader and pamqp.header.ProtocolHeader
  • pamqp.body.ContentBody.value now only supports bytes
  • Changed pamqp.decode.timestamp to return a datetime.datetime instance instead of time.struct_time.
  • Updated pamqp.encode.support_deprecated_rabbitmq() to allow for toggling support.
  • Changed pamqp.encode.timestamp to only support datetime.datetime and time.struct_time values, dropping epoch (int) support.
  • Removed pamqp.frame.BasicProperties.to_dict() in favor of behavior allowing for dict(pamqp.frame.BasicProperties)
  • Optimized pamqp.heartbeat.Heartbeat to marshal the static frame value as a predefined class attribute.
  • Add support for Connection.UpdateSecret and Connection.UpdateSecretOk.
  • Removed the ability to unset a Basic.Property by invoking del properties[key]
  • Removed the deprecated pamqp.codec sub-package

2.3.0

18 Apr 20:17
@gmr gmr
Compare
Choose a tag to compare

Add support for RabbitMQ versions < 3.6.0 by adding the pamqp.encode.support_deprecated_rabbitmq() method, restricting the data types that can be sent in a table-field value

2.0.0

11 Sep 23:10
@gmr gmr
Compare
Choose a tag to compare
  • Change Python versions supported to 2.7 and 3.4+
  • Always decode field table keys as strings (#6)
    • This may be a breaking change means in Python3 keys will always be type str for short strings. This includes frame
      values and field table values.
    • In Python 2.7 if a short-string (key, frame field value, etc) has UTF-8 characters in it, it will be a unicode object.
  • Combine test coverage across all Python versions
  • Fix range for signed short integer (#7)
  • Fix guards for usage of unsigned short usage in pamqp.encode (#7)
  • Fix encoding and decoding of unsigned short (#7)
  • Add support for unsigned short integer and long integer in field tables (#10)
  • Address edge case of small value in long type (#8)
  • Address long string encoding inconsistency (#9)
  • Cleanup unicode object & conditionals in py3 (#9)
  • Add pamqp.exceptions.PAMQPException as a base class for pamqp specific exceptions (#4)
  • Fix decoding of void values in a field table or array