Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package python-azure-servicebus for openSUSE:Factory checked in at 2024-05-14 13:37:55 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/python-azure-servicebus (Old) and /work/SRC/openSUSE:Factory/.python-azure-servicebus.new.1880 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-azure-servicebus" Tue May 14 13:37:55 2024 rev:34 rq:1173765 version:7.12.2 Changes: -------- --- /work/SRC/openSUSE:Factory/python-azure-servicebus/python-azure-servicebus.changes 2024-04-09 16:53:40.614344173 +0200 +++ /work/SRC/openSUSE:Factory/.python-azure-servicebus.new.1880/python-azure-servicebus.changes 2024-05-14 13:39:06.624224982 +0200 @@ -1,0 +2,9 @@ +Mon May 13 07:32:02 UTC 2024 - John Paul Adrian Glaubitz <adrian.glaub...@suse.com> + +- New upstream release + + Version 7.12.2 + + For detailed information about changes see the + CHANGELOG.md file provided with this package +- Update Requires from setup.py + +------------------------------------------------------------------- Old: ---- azure-servicebus-7.12.1.tar.gz New: ---- azure-servicebus-7.12.2.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ python-azure-servicebus.spec ++++++ --- /var/tmp/diff_new_pack.o04Fgu/_old 2024-05-14 13:39:07.492256635 +0200 +++ /var/tmp/diff_new_pack.o04Fgu/_new 2024-05-14 13:39:07.492256635 +0200 @@ -18,7 +18,7 @@ %{?sle15_python_module_pythons} Name: python-azure-servicebus -Version: 7.12.1 +Version: 7.12.2 Release: 0 Summary: Microsoft Azure Service Bus Runtime Client Library License: Apache-2.0 @@ -34,7 +34,7 @@ BuildRequires: python-rpm-macros Requires: python-azure-nspkg >= 3.0.0 Requires: python-isodate >= 0.6.0 -Requires: python-typing_extensions >= 4.0.1 +Requires: python-typing_extensions >= 4.6.0 Requires: (python-azure-core >= 1.28.0 with python-azure-core < 2.0.0) Conflicts: python-azure-sdk <= 2.0.0 %if 0%{?sle_version} >= 150400 ++++++ azure-servicebus-7.12.1.tar.gz -> azure-servicebus-7.12.2.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/azure-servicebus-7.12.1/CHANGELOG.md new/azure-servicebus-7.12.2/CHANGELOG.md --- old/azure-servicebus-7.12.1/CHANGELOG.md 2024-03-20 20:32:55.000000000 +0100 +++ new/azure-servicebus-7.12.2/CHANGELOG.md 2024-05-08 21:56:01.000000000 +0200 @@ -1,5 +1,12 @@ # Release History +## 7.12.2 (2024-05-08) + +### Bugs Fixed + +- Fixed a bug where WebsocketConnectionClosedException was not being caught when receiving with AmqpOverWebsocket ([34859](https://github.com/Azure/azure-sdk-for-python/pull/34859)) +- Fixed incorrect dependency on typing-extensions ([34869](https://github.com/Azure/azure-sdk-for-python/issues/34869), thanks @YaroBear). + ## 7.12.1 (2024-03-20) ### Bugs Fixed diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/azure-servicebus-7.12.1/PKG-INFO new/azure-servicebus-7.12.2/PKG-INFO --- old/azure-servicebus-7.12.1/PKG-INFO 2024-03-20 20:34:29.429185900 +0100 +++ new/azure-servicebus-7.12.2/PKG-INFO 2024-05-08 21:57:37.464320200 +0200 @@ -1,6 +1,6 @@ Metadata-Version: 2.1 Name: azure-servicebus -Version: 7.12.1 +Version: 7.12.2 Summary: Microsoft Azure Service Bus Client Library for Python Home-page: https://github.com/Azure/azure-sdk-for-python Author: Microsoft Corporation @@ -20,9 +20,6 @@ Requires-Python: >=3.8 Description-Content-Type: text/markdown License-File: LICENSE -Requires-Dist: azure-core>=1.28.0 -Requires-Dist: isodate>=0.6.0 -Requires-Dist: typing-extensions>=4.0.1 # Azure Service Bus client library for Python @@ -639,6 +636,13 @@ # Release History +## 7.12.2 (2024-05-08) + +### Bugs Fixed + +- Fixed a bug where WebsocketConnectionClosedException was not being caught when receiving with AmqpOverWebsocket ([34859](https://github.com/Azure/azure-sdk-for-python/pull/34859)) +- Fixed incorrect dependency on typing-extensions ([34869](https://github.com/Azure/azure-sdk-for-python/issues/34869), thanks @YaroBear). + ## 7.12.1 (2024-03-20) ### Bugs Fixed diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/azure-servicebus-7.12.1/azure/servicebus/_base_handler.py new/azure-servicebus-7.12.2/azure/servicebus/_base_handler.py --- old/azure-servicebus-7.12.1/azure/servicebus/_base_handler.py 2024-03-20 20:32:55.000000000 +0100 +++ new/azure-servicebus-7.12.2/azure/servicebus/_base_handler.py 2024-05-08 21:56:01.000000000 +0200 @@ -385,7 +385,7 @@ except AttributeError: pass - def _do_retryable_operation( + def _do_retryable_operation( # pylint: disable=inconsistent-return-statements self, operation: Callable, timeout: Optional[float] = None, @@ -496,13 +496,15 @@ be service-specific, but common values include READ, CREATE and UPDATE. This value will be added as an application property on the message. :param message: The message to send in the management request. - :paramtype message: Any + :type message: Any :param callback: The callback which is used to parse the returning message. - :paramtype callback: Callable[int, Union[~uamqp.message.Message, Message], str] - :param keep_alive_associated_link: A boolean flag for keeping associated amqp sender/receiver link alive when + :type callback: Callable[int, Union[~uamqp.message.Message, Message], str] + :param bool keep_alive_associated_link: A boolean flag for keeping + associated amqp sender/receiver link alive when executing operation on mgmt links. - :param timeout: timeout in seconds executing the mgmt operation. - :rtype: Tuple + :param float or None timeout: timeout in seconds executing the mgmt operation. + :return: The message response. + :rtype: Message """ self._open() application_properties = {} diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/azure-servicebus-7.12.1/azure/servicebus/_common/constants.py new/azure-servicebus-7.12.2/azure/servicebus/_common/constants.py --- old/azure-servicebus-7.12.1/azure/servicebus/_common/constants.py 2024-03-20 20:32:55.000000000 +0100 +++ new/azure-servicebus-7.12.2/azure/servicebus/_common/constants.py 2024-05-08 21:56:01.000000000 +0200 @@ -155,11 +155,9 @@ DEFERRED = 1 SCHEDULED = 2 - class ServiceBusSessionFilter(Enum): NEXT_AVAILABLE = 0 - class ServiceBusSubQueue(str, Enum, metaclass=CaseInsensitiveEnumMeta): DEAD_LETTER = "deadletter" TRANSFER_DEAD_LETTER = "transferdeadletter" @@ -171,9 +169,9 @@ class TransportType(Enum): """Transport type The underlying transport protocol type: - Amqp: AMQP over the default TCP transport protocol, it uses port 5671. - AmqpOverWebsocket: Amqp over the Web Sockets transport protocol, it uses - port 443. + - Amqp: AMQP over the default TCP transport protocol, it uses port 5671. + - AmqpOverWebsocket: Amqp over the Web Sockets transport protocol, it uses + port 443. """ Amqp = 1 AmqpOverWebsocket = 2 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/azure-servicebus-7.12.1/azure/servicebus/_common/tracing.py new/azure-servicebus-7.12.2/azure/servicebus/_common/tracing.py --- old/azure-servicebus-7.12.1/azure/servicebus/_common/tracing.py 2024-03-20 20:32:55.000000000 +0100 +++ new/azure-servicebus-7.12.2/azure/servicebus/_common/tracing.py 2024-05-08 21:56:01.000000000 +0200 @@ -241,7 +241,7 @@ return message -def get_receive_links(messages: Union[ReceiveMessageTypes, Iterable[ReceiveMessageTypes]]) -> List[Link]: +def get_receive_links(messages: Union[ServiceBusReceivedMessage, Iterable[ServiceBusReceivedMessage]]) -> List[Link]: if not is_tracing_enabled(): return [] @@ -268,7 +268,8 @@ if tracestate: headers["tracestate"] = cast(str, tracestate) - enqueued_time = message.raw_amqp_message.annotations.get(TRACE_ENQUEUED_TIME_PROPERTY) + enqueued_time = message.raw_amqp_message.annotations.get(TRACE_ENQUEUED_TIME_PROPERTY) \ + if message.raw_amqp_message.annotations else None attributes = {SPAN_ENQUEUED_TIME_PROPERTY: enqueued_time} if enqueued_time else None links.append(Link(headers, attributes=attributes)) except AttributeError: diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/azure-servicebus-7.12.1/azure/servicebus/_pyamqp/_transport.py new/azure-servicebus-7.12.2/azure/servicebus/_pyamqp/_transport.py --- old/azure-servicebus-7.12.1/azure/servicebus/_pyamqp/_transport.py 2024-03-20 20:32:55.000000000 +0100 +++ new/azure-servicebus-7.12.2/azure/servicebus/_pyamqp/_transport.py 2024-05-08 21:56:01.000000000 +0200 @@ -771,7 +771,7 @@ :return: The data read. :rtype: bytearray """ - from websocket import WebSocketTimeoutException + from websocket import WebSocketTimeoutException, WebSocketConnectionClosedException try: length = 0 view = buffer or memoryview(bytearray(n)) @@ -794,6 +794,8 @@ raise IOError("Websocket connection has already been closed.") from None except WebSocketTimeoutException as wte: raise TimeoutError('Websocket receive timed out (%s)' % wte) from wte + except (WebSocketConnectionClosedException, SSLError) as e: + raise ConnectionError('Websocket disconnected: %r' % e) from e except: self._read_buffer = BytesIO(view[:length]) raise diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/azure-servicebus-7.12.1/azure/servicebus/_pyamqp/aio/_client_async.py new/azure-servicebus-7.12.2/azure/servicebus/_pyamqp/aio/_client_async.py --- old/azure-servicebus-7.12.1/azure/servicebus/_pyamqp/aio/_client_async.py 2024-03-20 20:32:55.000000000 +0100 +++ new/azure-servicebus-7.12.2/azure/servicebus/_pyamqp/aio/_client_async.py 2024-05-08 21:56:01.000000000 +0200 @@ -4,12 +4,13 @@ # license information. #-------------------------------------------------------------------------- # TODO: Check types of kwargs (issue exists for this) +# pylint: disable=too-many-lines import asyncio import logging import time import queue from functools import partial -from typing import Any, Dict, Optional, Tuple, Union, overload, cast +from typing import Any, Callable, Coroutine, List, Dict, Optional, Tuple, Union, overload, cast from typing_extensions import Literal import certifi @@ -23,7 +24,7 @@ SendClient as SendClientSync, Outcomes ) -from ..message import _MessageDelivery +from ..message import _MessageDelivery, Message from ..constants import ( MessageDeliveryState, SEND_DISPOSITION_ACCEPT, @@ -350,7 +351,16 @@ return True return await self._client_run_async(**kwargs) - async def mgmt_request_async(self, message, **kwargs): + async def mgmt_request_async( + self, + message, + *, + operation: Optional[Union[bytes, str]] = None, + operation_type: Optional[Union[bytes, str]] = None, + node: str = "$management", + timeout: float = 0, + **kwargs + ): """ :param message: The message to send in the management request. :type message: ~pyamqp.message.Message @@ -370,10 +380,6 @@ # The method also takes "status_code_field" and "status_description_field" # keyword arguments as alternate names for the status code and description # in the response body. Those two keyword arguments are used in Azure services only. - operation = kwargs.pop("operation", None) - operation_type = kwargs.pop("operation_type", None) - node = kwargs.pop("node", "$management") - timeout = kwargs.pop('timeout', 0) async with self._mgmt_link_lock_async: try: mgmt_link = self._mgmt_links[node] @@ -569,8 +575,7 @@ condition=ErrorCondition.UnknownError ) - async def _send_message_impl_async(self, message, **kwargs): - timeout = kwargs.pop("timeout", 0) + async def _send_message_impl_async(self, message, *, timeout: float = 0): expire_time = (time.time() + timeout) if timeout else None await self.open_async() message_delivery = _MessageDelivery( @@ -604,11 +609,19 @@ # This is a default handler raise MessageException(condition=ErrorCondition.UnknownError, description="Send failed.") from None - async def send_message_async(self, message, **kwargs): + async def send_message_async(self, message, *, timeout: float = 0, **kwargs): """ :param ~pyamqp.message.Message message: The message to send. + :keyword float timeout: timeout in seconds. If set to + 0, the client will continue to wait until the message is sent or error happens. The + default is 0. """ - await self._do_retryable_operation_async(self._send_message_impl_async, message=message, **kwargs) + await self._do_retryable_operation_async( + self._send_message_impl_async, + message=message, + timeout=timeout, + **kwargs + ) class ReceiveClientAsync(ReceiveClientSync, AMQPClientAsync): @@ -767,12 +780,17 @@ if not self._streaming_receive: self._received_messages.put((frame, message)) - async def _receive_message_batch_impl_async(self, max_batch_size=None, on_message_received=None, timeout=0): + async def _receive_message_batch_impl_async( + self, + max_batch_size: Optional[int] = None, + on_message_received: Optional[Callable] = None, + timeout: float = 0, + ): self._message_received_callback = on_message_received max_batch_size = max_batch_size or self._link_credit timeout_time = time.time() + timeout if timeout else 0 receiving = True - batch = [] + batch: List[Message] = [] await self.open_async() while len(batch) < max_batch_size: try: @@ -825,7 +843,14 @@ self._received_messages = queue.Queue() await super(ReceiveClientAsync, self).close_async() - async def receive_message_batch_async(self, **kwargs): + async def receive_message_batch_async( # pylint: disable=unused-argument + self, + *, + max_batch_size: Optional[int] = None, + on_message_received: Optional[Callable] = None, + timeout: float = 0, + **kwargs + ) -> Coroutine[Any, Any, list]: """Receive a batch of messages. Messages returned in the batch have already been accepted - if you wish to add logic to accept or reject messages based on custom criteria, pass in a callback. This method will return as soon as some messages are @@ -844,10 +869,14 @@ 0, the client will continue to wait until at least one message is received. The default is 0. :paramtype timeout: float + :returns: Retryable operation coroutine. + :rtype: Coroutine[Any, Any, list] """ return await self._do_retryable_operation_async( self._receive_message_batch_impl_async, - **kwargs + max_batch_size=max_batch_size, + on_message_received=on_message_received, + timeout=timeout, ) async def receive_messages_iter_async(self, timeout=None, on_message_received=None): diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/azure-servicebus-7.12.1/azure/servicebus/_pyamqp/aio/_management_link_async.py new/azure-servicebus-7.12.2/azure/servicebus/_pyamqp/aio/_management_link_async.py --- old/azure-servicebus-7.12.1/azure/servicebus/_pyamqp/aio/_management_link_async.py 2024-03-20 20:32:55.000000000 +0100 +++ new/azure-servicebus-7.12.2/azure/servicebus/_pyamqp/aio/_management_link_async.py 2024-05-08 21:56:01.000000000 +0200 @@ -7,6 +7,7 @@ import time import logging from functools import partial +from typing import Optional, Union from ..management_link import PendingManagementOperation from ._sender_async import SenderLink @@ -189,7 +190,16 @@ await self._response_link.attach() await self._request_link.attach() - async def execute_operation(self, message, on_execute_operation_complete, **kwargs): + async def execute_operation( + self, + message, + on_execute_operation_complete, + *, + operation: Optional[Union[bytes, str]] = None, + type: Optional[Union[bytes, str]] = None, + locales: Optional[str] = None, + timeout: Optional[float] = None + ): """Execute a request and wait on a response. :param message: The message to send in the management request. @@ -212,11 +222,10 @@ to the management request must be received. :rtype: None """ - timeout = kwargs.get("timeout") - message.application_properties["operation"] = kwargs.get("operation") - message.application_properties["type"] = kwargs.get("type") - if "locales" in kwargs: - message.application_properties["locales"] = kwargs.get("locales") + message.application_properties["operation"] = operation + message.application_properties["type"] = type + if locales: + message.application_properties["locales"] = locales try: # TODO: namedtuple is immutable, which may push us to re-think about the namedtuple approach for Message new_properties = message.properties._replace(message_id=self.next_message_id) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/azure-servicebus-7.12.1/azure/servicebus/_pyamqp/client.py new/azure-servicebus-7.12.2/azure/servicebus/_pyamqp/client.py --- old/azure-servicebus-7.12.1/azure/servicebus/_pyamqp/client.py 2024-03-20 20:32:55.000000000 +0100 +++ new/azure-servicebus-7.12.2/azure/servicebus/_pyamqp/client.py 2024-05-08 21:56:01.000000000 +0200 @@ -15,12 +15,12 @@ import time import uuid from functools import partial -from typing import Any, Dict, Optional, Tuple, Union, overload, cast +from typing import Any, Callable, Dict, List, Optional, Tuple, Union, overload, cast import certifi from typing_extensions import Literal from ._connection import Connection -from .message import _MessageDelivery +from .message import _MessageDelivery, Message from .error import ( AMQPException, ErrorCondition, @@ -426,7 +426,16 @@ return True return self._client_run(**kwargs) - def mgmt_request(self, message, **kwargs): + def mgmt_request( + self, + message, + *, + operation: Optional[Union[str, bytes]] = None, + operation_type: Optional[Union[str, bytes]] = None, + node: str = "$management", + timeout: float = 0, + **kwargs + ): """ :param message: The message to send in the management request. :type message: ~pyamqp.message.Message @@ -446,10 +455,6 @@ # The method also takes "status_code_field" and "status_description_field" # keyword arguments as alternate names for the status code and description # in the response body. Those two keyword arguments are used in Azure services only. - operation = kwargs.pop("operation", None) - operation_type = kwargs.pop("operation_type", None) - node = kwargs.pop("node", "$management") - timeout = kwargs.pop("timeout", 0) with self._mgmt_link_lock: try: mgmt_link = self._mgmt_links[node] @@ -659,8 +664,7 @@ message_delivery, condition=ErrorCondition.UnknownError ) - def _send_message_impl(self, message, **kwargs): - timeout = kwargs.pop("timeout", 0) + def _send_message_impl(self, message, *, timeout: float = 0): expire_time = (time.time() + timeout) if timeout else None self.open() message_delivery = _MessageDelivery( @@ -692,14 +696,19 @@ condition=ErrorCondition.UnknownError, description="Send failed." ) from None - def send_message(self, message, **kwargs): + def send_message(self, message, *, timeout: float = 0, **kwargs): """ :param ~pyamqp.message.Message message: :keyword float timeout: timeout in seconds. If set to 0, the client will continue to wait until the message is sent or error happens. The default is 0. """ - self._do_retryable_operation(self._send_message_impl, message=message, **kwargs) + self._do_retryable_operation( + self._send_message_impl, + message=message, + timeout=timeout, + **kwargs + ) class ReceiveClient(AMQPClient): # pylint:disable=too-many-instance-attributes @@ -877,13 +886,16 @@ self._received_messages.put((frame, message)) def _receive_message_batch_impl( - self, max_batch_size=None, on_message_received=None, timeout=0 + self, + max_batch_size: Optional[int] = None, + on_message_received: Optional[Callable] = None, + timeout: float = 0, ): self._message_received_callback = on_message_received max_batch_size = max_batch_size or self._link_credit timeout = time.time() + timeout if timeout else 0 receiving = True - batch = [] + batch: List[Message] = [] self.open() while len(batch) < max_batch_size: try: @@ -928,7 +940,14 @@ self._received_messages = queue.Queue() super(ReceiveClient, self).close() - def receive_message_batch(self, **kwargs): + def receive_message_batch( # pylint: disable=unused-argument + self, + *, + max_batch_size: Optional[int] = None, + on_message_received: Optional[Callable] = None, + timeout: float = 0, + **kwargs + ): """Receive a batch of messages. Messages returned in the batch have already been accepted - if you wish to add logic to accept or reject messages based on custom criteria, pass in a callback. This method will return as soon as some messages are @@ -950,7 +969,12 @@ :return: A list of messages. :rtype: list[~pyamqp.message.Message] """ - return self._do_retryable_operation(self._receive_message_batch_impl, **kwargs) + return self._do_retryable_operation( + self._receive_message_batch_impl, + max_batch_size=max_batch_size, + on_message_received=on_message_received, + timeout=timeout + ) def receive_messages_iter(self, timeout=None, on_message_received=None): """Receive messages by generator. Messages returned in the generator have already been diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/azure-servicebus-7.12.1/azure/servicebus/_pyamqp/management_link.py new/azure-servicebus-7.12.2/azure/servicebus/_pyamqp/management_link.py --- old/azure-servicebus-7.12.1/azure/servicebus/_pyamqp/management_link.py 2024-03-20 20:32:55.000000000 +0100 +++ new/azure-servicebus-7.12.2/azure/servicebus/_pyamqp/management_link.py 2024-05-08 21:56:01.000000000 +0200 @@ -8,6 +8,7 @@ import logging from functools import partial from collections import namedtuple +from typing import Optional, Union from .sender import SenderLink from .receiver import ReceiverLink @@ -193,7 +194,11 @@ self, message, on_execute_operation_complete, - **kwargs + *, + operation: Optional[Union[bytes, str]] = None, + type: Optional[Union[bytes, str]] = None, + locales: Optional[str] = None, + timeout: Optional[float] = None ): """Execute a request and wait on a response. @@ -217,11 +222,10 @@ to the management request must be received. :rtype: None """ - timeout = kwargs.get("timeout") - message.application_properties["operation"] = kwargs.get("operation") - message.application_properties["type"] = kwargs.get("type") - if "locales" in kwargs: - message.application_properties["locales"] = kwargs.get("locales") + message.application_properties["operation"] = operation + message.application_properties["type"] = type + if locales: + message.application_properties["locales"] = locales try: # TODO: namedtuple is immutable, which may push us to re-think about the namedtuple approach for Message new_properties = message.properties._replace(message_id=self.next_message_id) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/azure-servicebus-7.12.1/azure/servicebus/_servicebus_client.py new/azure-servicebus-7.12.2/azure/servicebus/_servicebus_client.py --- old/azure-servicebus-7.12.1/azure/servicebus/_servicebus_client.py 2024-03-20 20:32:55.000000000 +0100 +++ new/azure-servicebus-7.12.2/azure/servicebus/_servicebus_client.py 2024-05-08 21:56:01.000000000 +0200 @@ -236,6 +236,7 @@ :keyword uamqp_transport: Whether to use the `uamqp` library as the underlying transport. The default value is False and the Pure Python AMQP library will be used as the underlying transport. :paramtype uamqp_transport: bool + :returns: The ServiceBusClient instance. :rtype: ~azure.servicebus.ServiceBusClient .. admonition:: Example: @@ -372,7 +373,7 @@ The default value is 0, meaning messages will be received from the service and processed one at a time. In the case of prefetch_count being 0, `ServiceBusReceiver.receive_messages` would try to cache `max_message_count` (if provided) within its request to the service. - **WARNING: If prefetch_count > 0 and RECEIVE_AND_DELETE mode is used, all prefetched messages will stay in + WARNING: If prefetch_count > 0 and RECEIVE_AND_DELETE mode is used, all prefetched messages will stay in the in-memory prefetch buffer until they're received into the application. If the application ends before the messages are received into the application, those messages will be lost and unable to be recovered. Therefore, it's recommended that PEEK_LOCK mode be used with prefetch. @@ -383,7 +384,7 @@ wait when sending and receiving data before timing out. The default value is 0.2 for TransportType.Amqp and 1 for TransportType.AmqpOverWebsocket. If connection errors are occurring due to write timing out, a larger than default value may need to be passed in. - + :returns: The ServiceBusReceiver for the queue. :rtype: ~azure.servicebus.ServiceBusReceiver .. admonition:: Example: @@ -395,7 +396,6 @@ :dedent: 4 :caption: Create a new instance of the ServiceBusReceiver from ServiceBusClient. - """ if self._entity_name and queue_name != self._entity_name: @@ -564,7 +564,7 @@ The default value is 0, meaning messages will be received from the service and processed one at a time. In the case of prefetch_count being 0, `ServiceBusReceiver.receive_messages` would try to cache `max_message_count` (if provided) within its request to the service. - **WARNING: If prefetch_count > 0 and RECEIVE_AND_DELETE mode is used, all prefetched messages will stay in + WARNING: If prefetch_count > 0 and RECEIVE_AND_DELETE mode is used, all prefetched messages will stay in the in-memory prefetch buffer until they're received into the application. If the application ends before the messages are received into the application, those messages will be lost and unable to be recovered. Therefore, it's recommended that PEEK_LOCK mode be used with prefetch. @@ -575,6 +575,7 @@ wait when sending and receiving data before timing out. The default value is 0.2 for TransportType.Amqp and 1 for TransportType.AmqpOverWebsocket. If connection errors are occurring due to write timing out, a larger than default value may need to be passed in. + :returns: A subscription receiver. :rtype: ~azure.servicebus.ServiceBusReceiver .. admonition:: Example: diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/azure-servicebus-7.12.1/azure/servicebus/_servicebus_receiver.py new/azure-servicebus-7.12.2/azure/servicebus/_servicebus_receiver.py --- old/azure-servicebus-7.12.1/azure/servicebus/_servicebus_receiver.py 2024-03-20 20:32:55.000000000 +0100 +++ new/azure-servicebus-7.12.2/azure/servicebus/_servicebus_receiver.py 2024-05-08 21:56:01.000000000 +0200 @@ -83,8 +83,8 @@ The two primary channels for message receipt are `receive()` to make a single request for messages, and `for message in receiver:` to continuously receive incoming messages in an ongoing fashion. - **Please use the `get_<queue/subscription>_receiver` method of ~azure.servicebus.ServiceBusClient to create a - ServiceBusReceiver instance.** + Please use the `get_<queue/subscription>_receiver` method of ~azure.servicebus.ServiceBusClient to create a + ServiceBusReceiver instance. :ivar fully_qualified_namespace: The fully qualified host name for the Service Bus namespace. The namespace format is: `<yournamespace>.servicebus.windows.net`. @@ -136,7 +136,7 @@ The default value is 0, meaning messages will be received from the service and processed one at a time. In the case of prefetch_count being 0, `ServiceBusReceiver.receive_messages` would try to cache `max_message_count` (if provided) within its request to the service. - **WARNING: If prefetch_count > 0 and RECEIVE_AND_DELETE mode is used, all prefetched messages will stay in + WARNING: If prefetch_count > 0 and RECEIVE_AND_DELETE mode is used, all prefetched messages will stay in the in-memory prefetch buffer until they're received into the application. If the application ends before the messages are received into the application, those messages will be lost and unable to be recovered. Therefore, it's recommended that PEEK_LOCK mode be used with prefetch. @@ -321,10 +321,11 @@ The default value is 0, meaning messages will be received from the service and processed one at a time. In the case of prefetch_count being 0, `ServiceBusReceiver.receive_messages` would try to cache `max_message_count` (if provided) within its request to the service. - **WARNING: If prefetch_count > 0 and RECEIVE_AND_DELETE mode is used, all prefetched messages will stay in + WARNING: If prefetch_count > 0 and RECEIVE_AND_DELETE mode is used, all prefetched messages will stay in the in-memory prefetch buffer until they're received into the application. If the application ends before the messages are received into the application, those messages will be lost and unable to be recovered. Therefore, it's recommended that PEEK_LOCK mode be used with prefetch. + :returns: The ServiceBusReceiver. :rtype: ~azure.servicebus.ServiceBusReceiver :raises ~azure.servicebus.ServiceBusAuthenticationError: Indicates an issue in token/identity validity. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/azure-servicebus-7.12.1/azure/servicebus/_servicebus_sender.py new/azure-servicebus-7.12.2/azure/servicebus/_servicebus_sender.py --- old/azure-servicebus-7.12.1/azure/servicebus/_servicebus_sender.py 2024-03-20 20:32:55.000000000 +0100 +++ new/azure-servicebus-7.12.2/azure/servicebus/_servicebus_sender.py 2024-05-08 21:56:01.000000000 +0200 @@ -231,7 +231,7 @@ keys: `'proxy_hostname'` (str value) and `'proxy_port'` (int value). Additionally the following keys may also be present: `'username', 'password'`. :keyword str user_agent: If specified, this will be added in front of the built-in user agent string. - + :returns: The ServiceBusSender. :rtype: ~azure.servicebus.ServiceBusSender :raises ~azure.servicebus.ServiceBusAuthenticationError: Indicates an issue in token/identity validity. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/azure-servicebus-7.12.1/azure/servicebus/_transport/_base.py new/azure-servicebus-7.12.2/azure/servicebus/_transport/_base.py --- old/azure-servicebus-7.12.1/azure/servicebus/_transport/_base.py 2024-03-20 20:32:55.000000000 +0100 +++ new/azure-servicebus-7.12.2/azure/servicebus/_transport/_base.py 2024-05-08 21:56:01.000000000 +0200 @@ -342,7 +342,7 @@ ): """ :param message: The message to send in the management request. - :paramtype message: Any + :type message: Any :param Dict[bytes, str] application_properties: App props. :param ~azure.servicebus._common._configuration.Configuration config: Configuration. :param str reply_to: Reply to. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/azure-servicebus-7.12.1/azure/servicebus/_transport/_pyamqp_transport.py new/azure-servicebus-7.12.2/azure/servicebus/_transport/_pyamqp_transport.py --- old/azure-servicebus-7.12.1/azure/servicebus/_transport/_pyamqp_transport.py 2024-03-20 20:32:55.000000000 +0100 +++ new/azure-servicebus-7.12.2/azure/servicebus/_transport/_pyamqp_transport.py 2024-05-08 21:56:01.000000000 +0200 @@ -903,10 +903,11 @@ ) -> "Message": # pylint:disable=unused-argument """ :param message: The message to send in the management request. - :paramtype message: Any + :type message: Any :param dict[bytes, str] application_properties: App props. :param ~azure.servicebus._common._configuration.Configuration config: Configuration. :param str reply_to: Reply to. + :return: The message to send in the management request. :rtype: ~pyamqp.message.Message """ return Message( @@ -925,7 +926,7 @@ *, operation: bytes, operation_type: bytes, - node: bytes, + node: str, timeout: int, callback: Callable ) -> "ServiceBusReceivedMessage": @@ -935,7 +936,7 @@ :param ~pyamqp.message.Message mgmt_msg: Message. :keyword bytes operation: Operation. :keyword bytes operation_type: Op type. - :keyword bytes node: Mgmt target. + :keyword str node: Mgmt target. :keyword int timeout: Timeout. :keyword callable callback: Callback to process request response. :return: ServiceBusReceivedMessage diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/azure-servicebus-7.12.1/azure/servicebus/_transport/_uamqp_transport.py new/azure-servicebus-7.12.2/azure/servicebus/_transport/_uamqp_transport.py --- old/azure-servicebus-7.12.1/azure/servicebus/_transport/_uamqp_transport.py 2024-03-20 20:32:55.000000000 +0100 +++ new/azure-servicebus-7.12.2/azure/servicebus/_transport/_uamqp_transport.py 2024-05-08 21:56:01.000000000 +0200 @@ -605,10 +605,11 @@ :param ~azure.servicebus.ServiceBusSender sender: The sender with handler to send messages. :param message: ServiceBusMessage with uamqp.Message to be sent. - :paramtype message: ~azure.servicebus.ServiceBusMessage or ~azure.servicebus.ServiceBusMessageBatch + :type message: ~azure.servicebus.ServiceBusMessage or ~azure.servicebus.ServiceBusMessageBatch :param int timeout: Timeout time. - :param last_exception: Exception to raise if message timed out. Only used by uamqp transport. - :param logger: Logger. + :param Exception or None last_exception: Exception to raise if message timed out. + Only used by uamqp transport. + :param Logger logger: Logger. """ # pylint: disable=protected-access sender._open() @@ -972,10 +973,11 @@ ) -> "Message": """ :param message: The message to send in the management request. - :paramtype message: Any + :type message: Any :param Dict[bytes, str] application_properties: App props. :param ~azure.servicebus._common._configuration.Configuration config: Configuration. :param str reply_to: Reply to. + :return: The message to send in the management request. :rtype: uamqp.Message """ return Message( # type: ignore # TODO: fix mypy error diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/azure-servicebus-7.12.1/azure/servicebus/_version.py new/azure-servicebus-7.12.2/azure/servicebus/_version.py --- old/azure-servicebus-7.12.1/azure/servicebus/_version.py 2024-03-20 20:32:55.000000000 +0100 +++ new/azure-servicebus-7.12.2/azure/servicebus/_version.py 2024-05-08 21:56:01.000000000 +0200 @@ -3,4 +3,4 @@ # Licensed under the MIT License. # ------------------------------------ -VERSION = "7.12.1" +VERSION = "7.12.2" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/azure-servicebus-7.12.1/azure/servicebus/aio/_base_handler_async.py new/azure-servicebus-7.12.2/azure/servicebus/aio/_base_handler_async.py --- old/azure-servicebus-7.12.1/azure/servicebus/aio/_base_handler_async.py 2024-03-20 20:32:55.000000000 +0100 +++ new/azure-servicebus-7.12.2/azure/servicebus/aio/_base_handler_async.py 2024-05-08 21:56:01.000000000 +0200 @@ -340,13 +340,15 @@ be service-specific, but common values include READ, CREATE and UPDATE. This value will be added as an application property on the message. :param message: The message to send in the management request. - :paramtype message: ~uamqp.message.Message + :type message: ~uamqp.message.Message :param callback: The callback which is used to parse the returning message. - :paramtype callback: Callable[int, ~uamqp.message.Message, str] - :param keep_alive_associated_link: A boolean flag for keeping associated amqp sender/receiver link alive when + :type callback: Callable[int, ~uamqp.message.Message, str] + :param bool keep_alive_associated_link: A boolean flag for keeping + associated amqp sender/receiver link alive when executing operation on mgmt links. - :param timeout: timeout in seconds for executing the mgmt operation. - :rtype: None + :param float or None timeout: timeout in seconds for executing the mgmt operation. + :return: The message response. + :rtype: Message """ await self._open() diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/azure-servicebus-7.12.1/azure/servicebus/aio/_servicebus_client_async.py new/azure-servicebus-7.12.2/azure/servicebus/aio/_servicebus_client_async.py --- old/azure-servicebus-7.12.1/azure/servicebus/aio/_servicebus_client_async.py 2024-03-20 20:32:55.000000000 +0100 +++ new/azure-servicebus-7.12.2/azure/servicebus/aio/_servicebus_client_async.py 2024-05-08 21:56:01.000000000 +0200 @@ -204,6 +204,7 @@ :keyword uamqp_transport: Whether to use the `uamqp` library as the underlying transport. The default value is False and the Pure Python AMQP library will be used as the underlying transport. :paramtype uamqp_transport: bool + :returns: The ServiceBusCLient instance. :rtype: ~azure.servicebus.aio.ServiceBusClient .. admonition:: Example: @@ -357,7 +358,7 @@ The default value is 0, meaning messages will be received from the service and processed one at a time. In the case of prefetch_count being 0, `ServiceBusReceiver.receive_messages` would try to cache `max_message_count` (if provided) within its request to the service. - **WARNING: If prefetch_count > 0 and RECEIVE_AND_DELETE mode is used, all prefetched messages will stay in + WARNING: If prefetch_count > 0 and RECEIVE_AND_DELETE mode is used, all prefetched messages will stay in the in-memory prefetch buffer until they're received into the application. If the application ends before the messages are received into the application, those messages will be lost and unable to be recovered. Therefore, it's recommended that PEEK_LOCK mode be used with prefetch. @@ -368,6 +369,7 @@ wait when sending and receiving data before timing out. The default value is 0.2 for TransportType.Amqp and 1 for TransportType.AmqpOverWebsocket. If connection errors are occurring due to write timing out, a larger than default value may need to be passed in. + :returns: The ServiceBusReceiver for the queue. :rtype: ~azure.servicebus.aio.ServiceBusReceiver .. admonition:: Example: @@ -538,7 +540,7 @@ The default value is 0, meaning messages will be received from the service and processed one at a time. In the case of prefetch_count being 0, `ServiceBusReceiver.receive_messages` would try to cache `max_message_count` (if provided) within its request to the service. - **WARNING: If prefetch_count > 0 and RECEIVE_AND_DELETE mode is used, all prefetched messages will stay in + WARNING: If prefetch_count > 0 and RECEIVE_AND_DELETE mode is used, all prefetched messages will stay in the in-memory prefetch buffer until they're received into the application. If the application ends before the messages are received into the application, those messages will be lost and unable to be recovered. Therefore, it's recommended that PEEK_LOCK mode be used with prefetch. @@ -549,6 +551,7 @@ wait when sending and receiving data before timing out. The default value is 0.2 for TransportType.Amqp and 1 for TransportType.AmqpOverWebsocket. If connection errors are occurring due to write timing out, a larger than default value may need to be passed in. + :returns: The ServiceBusReceiver for the topic subscription. :rtype: ~azure.servicebus.aio.ServiceBusReceiver .. admonition:: Example: diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/azure-servicebus-7.12.1/azure/servicebus/aio/_servicebus_receiver_async.py new/azure-servicebus-7.12.2/azure/servicebus/aio/_servicebus_receiver_async.py --- old/azure-servicebus-7.12.1/azure/servicebus/aio/_servicebus_receiver_async.py 2024-03-20 20:32:55.000000000 +0100 +++ new/azure-servicebus-7.12.2/azure/servicebus/aio/_servicebus_receiver_async.py 2024-05-08 21:56:01.000000000 +0200 @@ -88,8 +88,8 @@ The two primary channels for message receipt are `receive()` to make a single request for messages, and `async for message in receiver:` to continuously receive incoming messages in an ongoing fashion. - **Please use the `get_<queue/subscription>_receiver` method of ~azure.servicebus.aio.ServiceBusClient to create a - ServiceBusReceiver instance.** + Please use the `get_<queue/subscription>_receiver` method of ~azure.servicebus.aio.ServiceBusClient to create a + ServiceBusReceiver instance. :ivar fully_qualified_namespace: The fully qualified host name for the Service Bus namespace. The namespace format is: `<yournamespace>.servicebus.windows.net`. @@ -141,7 +141,7 @@ The default value is 0, meaning messages will be received from the service and processed one at a time. In the case of prefetch_count being 0, `ServiceBusReceiver.receive_messages` would try to cache `max_message_count` (if provided) within its request to the service. - **WARNING: If prefetch_count > 0 and RECEIVE_AND_DELETE mode is used, all prefetched messages will stay in + WARNING: If prefetch_count > 0 and RECEIVE_AND_DELETE mode is used, all prefetched messages will stay in the in-memory prefetch buffer until they're received into the application. If the application ends before the messages are received into the application, those messages will be lost and unable to be recovered. Therefore, it's recommended that PEEK_LOCK mode be used with prefetch. @@ -319,10 +319,11 @@ The default value is 0, meaning messages will be received from the service and processed one at a time. In the case of prefetch_count being 0, `ServiceBusReceiver.receive_messages` would try to cache `max_message_count` (if provided) within its request to the service. - **WARNING: If prefetch_count > 0 and RECEIVE_AND_DELETE mode is used, all prefetched messages will stay in + WARNING: If prefetch_count > 0 and RECEIVE_AND_DELETE mode is used, all prefetched messages will stay in the in-memory prefetch buffer until they're received into the application. If the application ends before the messages are received into the application, those messages will be lost and unable to be recovered. Therefore, it's recommended that PEEK_LOCK mode be used with prefetch. + :returns: The ServiceBusReceiver. :rtype: ~azure.servicebus.aio.ServiceBusReceiver :raises ~azure.servicebus.ServiceBusAuthenticationError: Indicates an issue in token/identity validity. @@ -759,7 +760,7 @@ handler, timeout=timeout, ) - links = get_receive_links(message) + links = get_receive_links(messages) with receive_trace_context_manager( self, span_name=SPAN_NAME_RECEIVE_DEFERRED, links=links, start_time=start_time ): @@ -820,7 +821,7 @@ messages = await self._mgmt_request_response_with_retry( REQUEST_RESPONSE_PEEK_OPERATION, message, handler, timeout=timeout ) - links = get_receive_links(message) + links = get_receive_links(messages) with receive_trace_context_manager( self, span_name=SPAN_NAME_PEEK, links=links, start_time=start_time ): diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/azure-servicebus-7.12.1/azure/servicebus/aio/_servicebus_sender_async.py new/azure-servicebus-7.12.2/azure/servicebus/aio/_servicebus_sender_async.py --- old/azure-servicebus-7.12.1/azure/servicebus/aio/_servicebus_sender_async.py 2024-03-20 20:32:55.000000000 +0100 +++ new/azure-servicebus-7.12.2/azure/servicebus/aio/_servicebus_sender_async.py 2024-05-08 21:56:01.000000000 +0200 @@ -177,6 +177,7 @@ keys: `'proxy_hostname'` (str value) and `'proxy_port'` (int value). Additionally the following keys may also be present: `'username', 'password'`. :keyword str user_agent: If specified, this will be added in front of the built-in user agent string. + :returns: The ServiceBusSender :rtype: ~azure.servicebus.aio.ServiceBusSender :raises ~azure.servicebus.ServiceBusAuthenticationError: Indicates an issue in token/identity validity. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/azure-servicebus-7.12.1/azure/servicebus/aio/_transport/_pyamqp_transport_async.py new/azure-servicebus-7.12.2/azure/servicebus/aio/_transport/_pyamqp_transport_async.py --- old/azure-servicebus-7.12.1/azure/servicebus/aio/_transport/_pyamqp_transport_async.py 2024-03-20 20:32:55.000000000 +0100 +++ new/azure-servicebus-7.12.2/azure/servicebus/aio/_transport/_pyamqp_transport_async.py 2024-05-08 21:56:01.000000000 +0200 @@ -418,7 +418,7 @@ *, operation: bytes, operation_type: bytes, - node: bytes, + node: str, timeout: int, callback: Callable ) -> "ServiceBusReceivedMessage": @@ -428,7 +428,7 @@ :param ~pyamqp.message.Message mgmt_msg: Message. :keyword bytes operation: Operation. :keyword bytes operation_type: Op type. - :keyword bytes node: Mgmt target. + :keyword str node: Mgmt target. :keyword int timeout: Timeout. :keyword callable callback: Callback to process request response. :return: The result returned by the mgmt request. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/azure-servicebus-7.12.1/azure/servicebus/aio/_transport/_uamqp_transport_async.py new/azure-servicebus-7.12.2/azure/servicebus/aio/_transport/_uamqp_transport_async.py --- old/azure-servicebus-7.12.1/azure/servicebus/aio/_transport/_uamqp_transport_async.py 2024-03-20 20:32:55.000000000 +0100 +++ new/azure-servicebus-7.12.2/azure/servicebus/aio/_transport/_uamqp_transport_async.py 2024-05-08 21:56:01.000000000 +0200 @@ -108,12 +108,12 @@ ) -> None: """ Handles sending of service bus messages. - :param sender: The sender with handler to send messages. + :param ServiceBusSender sender: The sender with handler to send messages. :param message: ServiceBusMessage with uamqp.Message to be sent. - :paramtype message: ~azure.servicebus.ServiceBusMessage or ~azure.servicebus.ServiceBusMessageBatch + :type message: ~azure.servicebus.ServiceBusMessage or ~azure.servicebus.ServiceBusMessageBatch :param int timeout: Timeout time. :param Exception last_exception: Exception to raise if message timed out. Only used by uamqp transport. - :param logger: Logger. + :param Logger logger: Logger. """ # pylint: disable=protected-access await sender._open() diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/azure-servicebus-7.12.1/azure/servicebus/aio/management/_management_client_async.py new/azure-servicebus-7.12.2/azure/servicebus/aio/management/_management_client_async.py --- old/azure-servicebus-7.12.1/azure/servicebus/aio/management/_management_client_async.py 2024-03-20 20:32:55.000000000 +0100 +++ new/azure-servicebus-7.12.2/azure/servicebus/aio/management/_management_client_async.py 2024-05-08 21:56:01.000000000 +0200 @@ -404,7 +404,7 @@ and Service Bus API version "2021-05" or higher. The minimum allowed value is 1024 while the maximum allowed value is 102400. Default value is 1024. :paramtype max_message_size_in_kilobytes: int - + :returns: Returns the properties of the queue. :rtype: ~azure.servicebus.management.QueueProperties """ forward_to = _normalize_entity_path_to_full_path_if_needed( @@ -662,7 +662,7 @@ and Service Bus API version "2021-05" or higher. The minimum allowed value is 1024 while the maximum allowed value is 102400. Default value is 1024. :paramtype max_message_size_in_kilobytes: int - + :return: Returns the properties of the topic. :rtype: ~azure.servicebus.management.TopicProperties """ @@ -913,6 +913,7 @@ automatically deleted. The minimum duration is 5 minutes. Input value of either type ~datetime.timedelta or string in ISO 8601 duration format like "PT300S" is accepted. :paramtype auto_delete_on_idle: Union[~datetime.timedelta, str] + :return: Returns the properties of the topic subscription that was created. :rtype: ~azure.servicebus.management.SubscriptionProperties """ # pylint:disable=protected-access @@ -1137,7 +1138,7 @@ ~azure.servicebus.management.SqlRuleFilter] :keyword action: The action of the rule. :paramtype action: Optional[~azure.servicebus.management.SqlRuleAction] - + :return: Returns the rules of the topic subscription. :rtype: ~azure.servicebus.management.RuleProperties """ _validate_topic_and_subscription_types(topic_name, subscription_name) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/azure-servicebus-7.12.1/azure/servicebus/management/_generated/py.typed new/azure-servicebus-7.12.2/azure/servicebus/management/_generated/py.typed --- old/azure-servicebus-7.12.1/azure/servicebus/management/_generated/py.typed 2024-03-20 20:32:55.000000000 +0100 +++ new/azure-servicebus-7.12.2/azure/servicebus/management/_generated/py.typed 1970-01-01 01:00:00.000000000 +0100 @@ -1 +0,0 @@ -# Marker file for PEP 561. \ No newline at end of file diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/azure-servicebus-7.12.1/azure/servicebus/management/_management_client.py new/azure-servicebus-7.12.2/azure/servicebus/management/_management_client.py --- old/azure-servicebus-7.12.1/azure/servicebus/management/_management_client.py 2024-03-20 20:32:55.000000000 +0100 +++ new/azure-servicebus-7.12.2/azure/servicebus/management/_management_client.py 2024-05-08 21:56:01.000000000 +0200 @@ -262,6 +262,7 @@ recent service version that is compatible with the current SDK. Setting to an older version may result in reduced feature compatibility. :paramtype api_version: str or ApiVersion + :returns: Returns a ServiceBusAdministrationClient. :rtype: ~azure.servicebus.management.ServiceBusAdministrationClient """ ( @@ -401,7 +402,7 @@ and Service Bus API version "2021-05" or higher. The minimum allowed value is 1024 while the maximum allowed value is 102400. Default value is 1024. :paramtype max_message_size_in_kilobytes: int - + :returns: Returns properties of queue resource. :rtype: ~azure.servicebus.management.QueueProperties """ forward_to = _normalize_entity_path_to_full_path_if_needed( @@ -659,7 +660,7 @@ and Service Bus API version "2021-05" or higher. The minimum allowed value is 1024 while the maximum allowed value is 102400. Default value is 1024. :paramtype max_message_size_in_kilobytes: int - + :return: Returns properties of a topic resource. :rtype: ~azure.servicebus.management.TopicProperties """ topic = TopicProperties( @@ -909,6 +910,7 @@ automatically deleted. The minimum duration is 5 minutes. Input value of either type ~datetime.timedelta or string in ISO 8601 duration format like "PT300S" is accepted. :paramtype auto_delete_on_idle: Union[~datetime.timedelta, str] + :return: Return properties of a topic subscription resource. :rtype: ~azure.servicebus.management.SubscriptionProperties """ _validate_entity_name_type(topic_name, display_name="topic_name") @@ -1133,6 +1135,7 @@ ~azure.servicebus.management.SqlRuleFilter] :keyword action: The action of the rule. :paramtype action: Optional[~azure.servicebus.management.SqlRuleAction] + :return: Rule properties for a topic subscription. :rtype: ~azure.servicebus.management.RuleProperties """ _validate_topic_and_subscription_types(topic_name, subscription_name) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/azure-servicebus-7.12.1/azure_servicebus.egg-info/PKG-INFO new/azure-servicebus-7.12.2/azure_servicebus.egg-info/PKG-INFO --- old/azure-servicebus-7.12.1/azure_servicebus.egg-info/PKG-INFO 2024-03-20 20:34:29.000000000 +0100 +++ new/azure-servicebus-7.12.2/azure_servicebus.egg-info/PKG-INFO 2024-05-08 21:57:37.000000000 +0200 @@ -1,6 +1,6 @@ Metadata-Version: 2.1 Name: azure-servicebus -Version: 7.12.1 +Version: 7.12.2 Summary: Microsoft Azure Service Bus Client Library for Python Home-page: https://github.com/Azure/azure-sdk-for-python Author: Microsoft Corporation @@ -20,9 +20,6 @@ Requires-Python: >=3.8 Description-Content-Type: text/markdown License-File: LICENSE -Requires-Dist: azure-core>=1.28.0 -Requires-Dist: isodate>=0.6.0 -Requires-Dist: typing-extensions>=4.0.1 # Azure Service Bus client library for Python @@ -639,6 +636,13 @@ # Release History +## 7.12.2 (2024-05-08) + +### Bugs Fixed + +- Fixed a bug where WebsocketConnectionClosedException was not being caught when receiving with AmqpOverWebsocket ([34859](https://github.com/Azure/azure-sdk-for-python/pull/34859)) +- Fixed incorrect dependency on typing-extensions ([34869](https://github.com/Azure/azure-sdk-for-python/issues/34869), thanks @YaroBear). + ## 7.12.1 (2024-03-20) ### Bugs Fixed diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/azure-servicebus-7.12.1/azure_servicebus.egg-info/SOURCES.txt new/azure-servicebus-7.12.2/azure_servicebus.egg-info/SOURCES.txt --- old/azure-servicebus-7.12.1/azure_servicebus.egg-info/SOURCES.txt 2024-03-20 20:34:29.000000000 +0100 +++ new/azure-servicebus-7.12.2/azure_servicebus.egg-info/SOURCES.txt 2024-05-08 21:57:37.000000000 +0200 @@ -103,7 +103,6 @@ azure/servicebus/management/_generated/_patch.py azure/servicebus/management/_generated/_serialization.py azure/servicebus/management/_generated/_vendor.py -azure/servicebus/management/_generated/py.typed azure/servicebus/management/_generated/aio/__init__.py azure/servicebus/management/_generated/aio/_client.py azure/servicebus/management/_generated/aio/_configuration.py diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/azure-servicebus-7.12.1/azure_servicebus.egg-info/requires.txt new/azure-servicebus-7.12.2/azure_servicebus.egg-info/requires.txt --- old/azure-servicebus-7.12.1/azure_servicebus.egg-info/requires.txt 2024-03-20 20:34:29.000000000 +0100 +++ new/azure-servicebus-7.12.2/azure_servicebus.egg-info/requires.txt 2024-05-08 21:57:37.000000000 +0200 @@ -1,3 +1,3 @@ azure-core>=1.28.0 isodate>=0.6.0 -typing-extensions>=4.0.1 +typing-extensions>=4.6.0 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/azure-servicebus-7.12.1/setup.py new/azure-servicebus-7.12.2/setup.py --- old/azure-servicebus-7.12.1/setup.py 2024-03-20 20:32:55.000000000 +0100 +++ new/azure-servicebus-7.12.2/setup.py 2024-05-08 21:56:01.000000000 +0200 @@ -68,6 +68,6 @@ install_requires=[ "azure-core>=1.28.0", "isodate>=0.6.0", - "typing-extensions>=4.0.1", + "typing-extensions>=4.6.0", ] ) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/azure-servicebus-7.12.1/tests/async_tests/test_queues_async.py new/azure-servicebus-7.12.2/tests/async_tests/test_queues_async.py --- old/azure-servicebus-7.12.1/tests/async_tests/test_queues_async.py 2024-03-20 20:32:55.000000000 +0100 +++ new/azure-servicebus-7.12.2/tests/async_tests/test_queues_async.py 2024-05-08 21:56:01.000000000 +0200 @@ -1036,7 +1036,7 @@ @pytest.mark.live_test_only @CachedServiceBusResourceGroupPreparer(name_prefix='servicebustest') @CachedServiceBusNamespacePreparer(name_prefix='servicebustest') - @CachedServiceBusQueuePreparer(name_prefix='servicebustest', dead_lettering_on_message_expiration=True) + @ServiceBusQueuePreparer(name_prefix='servicebustest', dead_lettering_on_message_expiration=True) @pytest.mark.parametrize("uamqp_transport", uamqp_transport_params, ids=uamqp_transport_ids) @ArgPasserAsync() async def test_async_queue_by_servicebus_client_session_fail(self, uamqp_transport, *, servicebus_namespace_connection_string=None, servicebus_queue=None, **kwargs): @@ -1052,6 +1052,7 @@ async with sb_client.get_queue_receiver(servicebus_queue.name) as receiver: messages = await receiver.receive_messages() for message in messages: + assert str(message) == "test session sender" await receiver.complete_message(message) @pytest.mark.asyncio @@ -2152,10 +2153,11 @@ @pytest.mark.live_test_only @CachedServiceBusResourceGroupPreparer(name_prefix='servicebustest') @CachedServiceBusNamespacePreparer(name_prefix='servicebustest') - @CachedServiceBusQueuePreparer(name_prefix='servicebustest', dead_lettering_on_message_expiration=True) + @ServiceBusQueuePreparer(name_prefix='servicebustest', dead_lettering_on_message_expiration=True) @pytest.mark.parametrize("uamqp_transport", uamqp_transport_params, ids=uamqp_transport_ids) @ArgPasserAsync() async def test_async_queue_send_large_message_receive(self, uamqp_transport, *, servicebus_namespace_connection_string=None, servicebus_queue=None, **kwargs): + async with ServiceBusClient.from_connection_string( servicebus_namespace_connection_string, uamqp_transport=uamqp_transport diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/azure-servicebus-7.12.1/tests/test_queues.py new/azure-servicebus-7.12.2/tests/test_queues.py --- old/azure-servicebus-7.12.1/tests/test_queues.py 2024-03-20 20:32:55.000000000 +0100 +++ new/azure-servicebus-7.12.2/tests/test_queues.py 2024-05-08 21:56:01.000000000 +0200 @@ -1141,6 +1141,7 @@ with sb_client.get_queue_receiver(servicebus_queue.name) as receiver: messages = receiver.receive_messages() for message in messages: + assert str(message) == "test session sender" receiver.complete_message(message)