Releases: Azure/azure-uamqp-python
uamqp v1.2.5
- Fixed garbage collection of C objects to prevent crashing on uncontrolled shutdown.
- Fixed missing event loop references passed into asyncio functions.
- Fixed bug in noneffective flow control when large messages are received.
- Demote link redirect logging from warning to info.
uamqp v1.2.4
- Fixed bug in calculating send timeout.
- Removed ThreadPoolExecutor in ConnectionAsync.
- Added support for Python 3.8
uamqp v1.2.3
- Fixed bug in dropping received messages at the moment when the connection just started working.
- Fixed bug where underlying io type wasn't set to WebSocket when http_proxy was applied (PR#92, Thanks to skoop22).
- Fixed bug in noneffective timeout when sending messages.
- Added desired-capabilities for
ReceiveClient(Async)andMessageReceiver(Async)as part of the AMQP protocol. - Added delivery-tag to
Message(azure-sdk-for-python issue #7336). - Added method
worktoMessageReceiverandwork_asynctoMessageReceiverAsyncresponsible for updating link status.
uamqp v1.2.2
- Made bug fix in asyncio.get_event_loop backwards-compatible for now by just printing a warning rather than raising an error. In the next major version bump we can disable entirely.
uamqp v1.2.1
- Updated the implementation of
update_token()inJWTTokenAuthandJWTTokenAsync(issue #80).
uamqp v1.2.0
- Fixed bug in batched messages missing application_properties (azure-event-hubs-python issue #97).
- Fixed bug in datetime object parsing (issue #63).
- Fixed bug in unexposed send/receive settle modes.
- Fixed bug where retried messages were not added back to the send queue.
- Fixed bug in using asyncio.get_event_loop.
- Added type objects for AMQP Byte and uBytes types.
- Added async locking around pending messages queue (PR#54, Thanks to zach-b)
- Added WebSocket(AMQP over WebSocket) support (azure-sdk-for-python issue #5318).
- Added new token class
JWTTokenAuthandJWTTokenAsyncto support OAuth.
uamqp v1.1.0
-
Support for Python 2.7
- Where ever a
TimeoutErroris raised in Python 3.x, this will be replaced with a new ~uamqp.errors.ClientTimeout exception in Python 2.7. - A Python 2
strobject will be treated asbytesin Python 3 and a Python 2unicodeobject will be treated like a Python 3str. - Added uamqp.compat module for handling Py 2 vs 3 imports and types (PR#46, Thanks to maxkrivich).
- Where ever a
-
AMQP encoding of an integer type will now automatically failover into a Long type or a double type if the value is too large.
-
Improved support for promptly detecting invalid ATTACH handles and raising the appropriate error.
-
Added types for AMQPDescribed, AMQPInt and AMQPuInt for explicit handling of int and unsigned int encoding.
-
Added new error
errors.AMQPClientShutdownas a wrapper forKeyboardInterruptto better handle interrupt handling. -
Added better handling of keyboard interrupts during C callbacks to better facilitate clean client shutdown.
-
Added additional handling of keyboard interrupt at the C level to clean up annoying warnings.
-
Added classmethod
Message.decode_from_bytesto create a message from AMQP wire-encoded data. -
Added
Message.encode_messagemethod to retrieve the AMQP wire-encoded byte representation of the current message. -
Fixed behaviour of
Message.get_message_encoded_size()to return accurate size. -
Added new optional
callbackargument toclient.mgmt_requestto allow for custom handling of different status codes. -
Added new client methods
auth_complete()andclient_ready()to allow for more fine-tuned monitoring or the client opening stages. -
Client message handler is now a public attribute
client.message_handler(SendClient._message_senderandReceiveClient._message_receiverare now deprecated). -
Added automatic encoding of
datetime.datetimeobjects into AMQP timestamp. -
Better support for Source filters with optional
descriptorargument inSource.set_filter()and newSource.get_filter()method. -
Fixed Session settings not being passed to CBS session.
-
Added support for a callback on receipt on a Link ATTACH frame. Can be supplied to a client through the
on_attachkeyword argument. -
Removed unsued message.SequenceBody class.
-
Exposed BatchMessage.size_offset property for batch size customization.
uamqp v1.1.0rc2
In addition to the updates in RC1:
-
Support for Python 2.7:
- Added uamqp.compat module for handling Py 2 vs 3 imports and types (PR#46, Thanks to maxkrivich).
-
AMQP encoding of an integer type will now automatically failover into a Long type or a double type if the value is too large.
-
Improved support for promptly detecting invalid ATTACH handles and raising the appropriate error.
-
Added types for AMQPInt and AMQPuInt for explicit handling of int and unsigned int encoding.
-
Added classmethod
Message.decode_from_bytesto create a message from AMQP wire-encoded data. -
Added
Message.encode_messagemethod to retrieve the AMQP wire-encoded byte representation of the current message. -
Fixed behaviour of
Message.get_message_encoded_size()to return accurate size. -
Added new optional
callbackargument toclient.mgmt_requestto allow for custom handling of different status codes. -
Added new client methods
auth_complete()andclient_ready()to allow for more fine-tuned monitoring or the client opening stages. -
Client message handler is now a public attribute
client.message_handler(SendClient._message_senderandReceiveClient._message_receiverare now deprecated). -
Added automatic encoding of
datetime.datetimeobjects into AMQP timestamp.
uamqp v1.1.0rc1
-
Support for Python 2.7
- Where ever a
TimeoutErroris raised in Python 3.x, this will be replaced with a newClientTimeoutexception in Python 2.7. - A Python 2
strobject will be treated asbytesin Python 3 and a Python 2unicodeobject will be treated like a Python 3str.
- Where ever a
-
Added new error
AMQPClientShutdownas a wrapper forKeyboardInterruptto better handle interrupt handling. -
Added better handling of keyboard interrupts during C callbacks to better facilitate clean client shutdown.
-
Added additional handling of keyboard interrupt at the C level to clean up annoying warnings.
uamqp v1.0.3
- Reduced CPU load during idle receive (issue #38).
- Updated Azure uAMQP C and Azure C Shared Utility dependencies.