Uamqp

Latest version: v1.6.11

Safety actively analyzes 714736 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 8 of 10

0.2.1

- Fixed potential crashing in bindings for amqpvalue.
- Fixed bindings fault in cbs PUT token complete callback.
- Updated uAMQP-C.
- Added additional auth and connection locking for thread/async
safety.
- Increased INFO level logging.
- Removed platform deinitialization until it can be improved.
- Added handling for a connection reaching a client-caused error
state.

0.2.0

- **Breaking change** [MessageSender.send_async]{.title-ref} has been
renamed to [MessageSender.send]{.title-ref}, and
[MessageSenderAsync.send_async]{.title-ref} is now a coroutine.

- **Breaking change** Removed [detach_received]{.title-ref} callback
argument from MessageSender, MessageReceiver, MessageSenderAsync,
and MessageReceiverAsync in favour of new [error_policy]{.title-ref}
argument.

- Added ErrorPolicy class to determine how the client should respond
to both generic AMQP errors and custom or vendor-specific errors. A
default policy will be used, but a custom policy can be added to any
client by using a new [error_policy]{.title-ref} argument. Value
must be either an instance or subclass of ErrorPolicy.

> - The [error_policy]{.title-ref} argument has also been added to
> MessageSender, MessageReceiver, Connection, and their async
> counterparts to allow for handling of link DETACH and
> connection CLOSE events.
> - The error policy passed to a SendClient determines the number
> of message send retry attempts. This replaces the previous
> [constants.MESSAGE_SEND_RETRIES]{.title-ref} value which is
> now deprecated.
> - Added new ErrorAction object to determine how a client should
> respond to an error. It has three properties:
> [retry]{.title-ref} (a boolean to determine whether the error
> is retryable), [backoff]{.title-ref} (an integer to determine
> how long the client should wait before retrying, default is 0)
> and [increment_retries]{.title-ref} (a boolean to determine
> whether the error should count against the maximum retry
> attempts, default is [True]{.title-ref}). Currently
> [backoff]{.title-ref} and [increment_retries]{.title-ref} are
> only considered for message send failures.
> - Added [VendorConnectionClose]{.title-ref} and
> [VendorLinkDetach]{.title-ref} exceptions for non-standard
> (unrecognized) connection/link errors.

- Added support for HTTP proxy configuration.

- Added support for running async clients synchronously.

- Added keep-alive support for connection - this is a background
thread for a synchronous client, and a background async function for
an async client. The keep-alive feature is disabled by default, to
enable, set the [keep_alive_interval]{.title-ref} argument on the
client to an integer representing the number of seconds between
connection pings.

- Added support for catching a Connection CLOSE event.

- Added support for [Connection.sleep]{.title-ref} and
[ConnectionAsync.sleep_async]{.title-ref} to pause the connection.

- Added support for surfacing message disposition delivery-state (with
error information).

- Added [constants.ErrorCodes]{.title-ref} enum to map standard AMQP
error conditions. This replaces the previous
[constants.ERROR_CONNECTION_REDIRECT]{.title-ref} and
[constants.ERROR_LINK_REDIRECT]{.title-ref} which are now both
deprecated.

- Added new super error [AMQPError]{.title-ref} from which all
exceptions inherit.

- Added new [MessageHandlerError]{.title-ref} exception, a subclass of
[AMQPConnectionError]{.title-ref}, for Senders/Receivers that enter
an indeterminate error state.

- [MessageException]{.title-ref} is now a subclass of
[MessageResponse]{.title-ref}.

- Added [ClientMessageError]{.title-ref} exception, a subclass of
[MessageException]{.title-ref} for send errors raised client-side.

- Catching Link DETACH event will now work regardless of whether
service returns delivery-state.

- Fixed bug where received messages attempting to settle on a detached
link crashed the client.

- Fixed bug in amqp C DescribedValue.

- Fixed bug where client crashed on deallocating failed management
operation.

0.1.1

- Removed circular dependency in Python 3.4 with types.py/utils.py
- When a header properties is not set, returns [None]{.title-ref}
rather than raising ValueError.
- Fixed bug in receiving messages with application properties.

0.1.0

- Fixed bug in error handling for CBS auth to invalid hostname.
- Changed C error logging to debug level.
- Bumped uAMQP C version to 1.2.7
- Fixed memory leaks and deallocation bugs with Properties and
Annotations.

0.1.0rc2

- **Breaking change** Submodule [async]{.title-ref} has been renamed
to the internal [\_async]{.title-ref}. All asynchronous classes in
the submodule can now be accessed from uamqp or uamqp.authentication
directly.

- **Breaking change** Anything returned by a callback supplied to
receive messages will now be ignored.

- **Breaking change** Changed message state enum values:

> - [Complete -\> SendComplete]{.title-ref}
> - [Failed -\> SendFailed]{.title-ref}
> - [WaitingForAck -\> WaitingForSendAck]{.title-ref}

- Added new message state enum values:

> - [ReceivedUnsettled]{.title-ref}
> - [ReceivedSettled]{.title-ref}

- **Breaking change** Changes to message settlement exceptions:

> - Combined the [AbandonMessage]{.title-ref} and
> [DeferMessage]{.title-ref} exceptions as
> [MessageModified]{.title-ref} to be in keeping with the AMQP
> specification.
> - Renamed [AcceptMessage]{.title-ref} to
> [MessageAccepted]{.title-ref}.
> - Renamed [RejectMessage]{.title-ref} to
> [MessageRejected]{.title-ref} which now takes
> [condition]{.title-ref} and [description]{.title-ref}
> arguments rather than [message]{.title-ref}.

- Added [errors.LinkDetach]{.title-ref} exception as new subclass of
[AMQPConnectionError]{.title-ref} as a wrapped for data in a Link
DETACH dispostition.

- Added [errors.LinkRedirect]{.title-ref} as a specific subclass of
[LinkDetach]{.title-ref} to decode the specific redirect fields of a
Link Redirect response.

- Added [errors.MessageAlreadySettled]{.title-ref} exception for
operations performed on a received message that has already returned
a receipt dispostition.

- Added [errors.MessageReleased]{.title-ref} exception.

- Added [errors.ErrorResponse]{.title-ref} exception.

- A received Message can now be explicitly settled through a set of
new functions on the message:

> - [Message.accept()]{.title-ref}
> - [Message.reject(condition:str, description:str)]{.title-ref}
> - [Message.release()]{.title-ref}
> - [Message.modify(failed:bool, deliverable:bool,
> annotations:dict)]{.title-ref}

- Added explicit [auto_complete]{.title-ref} argument to
[ReceiveClient]{.title-ref} and [ReceiveClientAsync]{.title-ref}. If
[auto_complete]{.title-ref} is set to [False]{.title-ref} then all
messages must be explicitly \"accepted\" or \"rejected\" by the user
otherwise they will timeout and be released. The default is
[True]{.title-ref}, which is the exiting behaviour for each receive
mechanism:

> - Received messages processed by callback
> ([ReceiveClient.receive_messages()]{.title-ref}) will be
> automatically \"accepted\" if no explicit response has been
> set on completion of the callback.
> - Received messages processed by batch
> ([ReceiveClient.receive_message_batch()]{.title-ref}) will by
> automatically \"accepted\" before being returned to the user.
> - Received messages processed by iterator
> ([ReceiveClient.receive_message_iter()]{.title-ref}) will by
> automatically \"accepted\" if no explicit response has been
> set once the generator is incremented.

- Added new methods to clients and connections to allow to redirect to
an alternative endpoint when a LinkRedirect exception is raised. The
client redirect helper cannot be used for clients that use a shared
connection - the clients must be closed before the connection can be
redirected. New credentials must be supplied for the new endpoint.
The new methods are:

> - [uamqp.Connection.redirect(redirect_info, auth)]{.title-ref}
> - [uamqp.async.ConnectionAsync.redirect_async(redirect_info,
> auth)]{.title-ref}
> - [uamqp.SendClient.redirect(redirect_info, auth)]{.title-ref}
> - [uamqp.ReceiveClient.redirect(redirect_info,
> auth)]{.title-ref}
> - [uamqp.async.SendClientAsync.redirect_async(redirect_info,
> auth)]{.title-ref}
> - [uamqp.async.ReceiveClientAsync.redirect_async(redirect_info,
> auth)]{.title-ref}

- Added [on_detach_received]{.title-ref} argument to
[Sender]{.title-ref} and [Receiver]{.title-ref} classes to pass in
callback to run on Link DETACH.

- Removed automatic char encoding for strings of length 1, and added
[types.AMQPChar]{.title-ref} for explicit encoding.

- Bumped uAMQP C version to 1.2.5

- Bumped Azure C Shared Utility to 1.1.5

- Fixed memory leaks in MessageProperties, MessageHeader and message
annotations.

0.1.0rc1

- Fixed import error in async receiver.
- Exposed sender/receiver destroy function.
- Moved receiver.open on_message_received argument to constructor.
- Removed sasl module and moved internal classes into authentication
module.
- Added encoding parameter everywhere where strings are encoded.
- Started documentation.
- Updated uAMQP-C to 1.2.4 and C Shared Utility to 1.1.4 (includes fix
for issue 12).
- Fixed return type of MgmtOperation.execute - now returns
\~uamqp.message.Message.
- Made AMQP connection/session/sender/receiver types in a client
overridable.
- Added debug trace to management operations.
- Fixed error in management callback on failed operation.
- Default AMQP encoding of bytes is now a String type and a bytearray
is a Binary type.
- Added AMQP Array type and fixed Long type range validation.
- Added [header]{.title-ref} argument to Message and BatchMessage for
setting a MessageHeader.
- Fixed MessageHeader attribute setters.

Page 8 of 10

© 2025 Safety CLI Cybersecurity Inc. All Rights Reserved.