Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package python-azure-storage-blob for
openSUSE:Factory checked in at 2026-09-29 17:55:23
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-azure-storage-blob (Old)
and /work/SRC/openSUSE:Factory/.python-azure-storage-blob.new.383539 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-azure-storage-blob"
Tue Sep 29 17:55:23 2026 rev:50 rq:1381490 version:12.30.3
Changes:
--------
---
/work/SRC/openSUSE:Factory/python-azure-storage-blob/python-azure-storage-blob.changes
2026-09-18 22:05:23.069691492 +0200
+++
/work/SRC/openSUSE:Factory/.python-azure-storage-blob.new.383539/python-azure-storage-blob.changes
2026-09-29 17:56:39.287392440 +0200
@@ -1,0 +2,8 @@
+Wed Sep 23 06:36:28 UTC 2026 - John Paul Adrian Glaubitz
<[email protected]>
+
+- New upstream release
+ + Version 12.30.3
+ + For detailed information about changes see the
+ CHANGELOG.md file provided with this package
+
+-------------------------------------------------------------------
Old:
----
azure_storage_blob-12.30.2.tar.gz
New:
----
azure_storage_blob-12.30.3.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-azure-storage-blob.spec ++++++
--- /var/tmp/diff_new_pack.gKN792/_old 2026-09-29 17:56:40.693451078 +0200
+++ /var/tmp/diff_new_pack.gKN792/_new 2026-09-29 17:56:40.698451286 +0200
@@ -18,7 +18,7 @@
%{?sle15_python_module_pythons}
Name: python-azure-storage-blob
-Version: 12.30.2
+Version: 12.30.3
Release: 0
Summary: Microsoft Azure Storage Blob Client Library for Python
License: MIT
++++++ azure_storage_blob-12.30.2.tar.gz -> azure_storage_blob-12.30.3.tar.gz
++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/azure_storage_blob-12.30.2/CHANGELOG.md
new/azure_storage_blob-12.30.3/CHANGELOG.md
--- old/azure_storage_blob-12.30.2/CHANGELOG.md 2026-09-16 23:44:06.000000000
+0200
+++ new/azure_storage_blob-12.30.3/CHANGELOG.md 2026-09-22 22:39:16.000000000
+0200
@@ -1,5 +1,10 @@
# Release History
+## 12.30.3 (2026-09-22)
+
+### Bugs Fixed
+- Async clients now reject header names and values containing a `\r` or `\n`
when sending a batch request, matching the behavior of the sync clients.
+
## 12.30.2 (2026-09-16)
### Bugs Fixed
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/azure_storage_blob-12.30.2/PKG-INFO
new/azure_storage_blob-12.30.3/PKG-INFO
--- old/azure_storage_blob-12.30.2/PKG-INFO 2026-09-16 23:45:30.099450800
+0200
+++ new/azure_storage_blob-12.30.3/PKG-INFO 2026-09-22 22:40:46.665691900
+0200
@@ -1,6 +1,6 @@
Metadata-Version: 2.4
Name: azure-storage-blob
-Version: 12.30.2
+Version: 12.30.3
Summary: Microsoft Azure Blob Storage Client Library for Python
Home-page:
https://github.com/Azure/azure-sdk-for-python/tree/main/sdk/storage/azure-storage-blob
Author: Microsoft Corporation
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/azure_storage_blob-12.30.2/azure/storage/blob/_shared/base_client_async.py
new/azure_storage_blob-12.30.3/azure/storage/blob/_shared/base_client_async.py
---
old/azure_storage_blob-12.30.2/azure/storage/blob/_shared/base_client_async.py
2026-09-16 23:44:07.000000000 +0200
+++
new/azure_storage_blob-12.30.3/azure/storage/blob/_shared/base_client_async.py
2026-09-22 22:39:16.000000000 +0200
@@ -170,6 +170,15 @@
if self._credential_policy:
policies.append(self._credential_policy) # type: ignore
+ for req in reqs:
+ for header_name, header_value in req.headers.items():
+ if header_value is not None:
+ if "\r" in header_name or "\n" in header_name or "\r" in
header_value or "\n" in header_value:
+ raise ValueError(
+ f"Invalid header {header_name!r} in batch
sub-request: the header name or its value "
+ r"contains a '\r' or '\n' character, which is not
permitted."
+ )
+
request.set_multipart_mixed(*reqs, policies=policies,
enforce_https=False)
pipeline_response = await self._pipeline.run(request, **kwargs)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/azure_storage_blob-12.30.2/azure/storage/blob/_version.py
new/azure_storage_blob-12.30.3/azure/storage/blob/_version.py
--- old/azure_storage_blob-12.30.2/azure/storage/blob/_version.py
2026-09-16 23:44:07.000000000 +0200
+++ new/azure_storage_blob-12.30.3/azure/storage/blob/_version.py
2026-09-22 22:39:16.000000000 +0200
@@ -4,4 +4,4 @@
# license information.
# --------------------------------------------------------------------------
-VERSION = "12.30.2"
+VERSION = "12.30.3"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/azure_storage_blob-12.30.2/azure_storage_blob.egg-info/PKG-INFO
new/azure_storage_blob-12.30.3/azure_storage_blob.egg-info/PKG-INFO
--- old/azure_storage_blob-12.30.2/azure_storage_blob.egg-info/PKG-INFO
2026-09-16 23:45:29.000000000 +0200
+++ new/azure_storage_blob-12.30.3/azure_storage_blob.egg-info/PKG-INFO
2026-09-22 22:40:46.000000000 +0200
@@ -1,6 +1,6 @@
Metadata-Version: 2.4
Name: azure-storage-blob
-Version: 12.30.2
+Version: 12.30.3
Summary: Microsoft Azure Blob Storage Client Library for Python
Home-page:
https://github.com/Azure/azure-sdk-for-python/tree/main/sdk/storage/azure-storage-blob
Author: Microsoft Corporation
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/azure_storage_blob-12.30.2/tests/test_container_async.py
new/azure_storage_blob-12.30.3/tests/test_container_async.py
--- old/azure_storage_blob-12.30.2/tests/test_container_async.py
2026-09-16 23:44:07.000000000 +0200
+++ new/azure_storage_blob-12.30.3/tests/test_container_async.py
2026-09-22 22:39:16.000000000 +0200
@@ -1592,6 +1592,16 @@
blob_list = []
container_client.delete_blobs(*blob_list)
+ @pytest.mark.asyncio
+ @pytest.mark.parametrize("value", ["\r", "\n", "\r\n"])
+ async def test_batch_delete_blobs_rejects_crlf_in_header(self, value):
+ container_client =
ContainerClient("https://mystorageaccount.blob.core.windows.net", "container")
+
+ with pytest.raises(ValueError):
+ await container_client.delete_blobs(
+ "blob1",
if_tags_match_condition=f"\"tag1\"='first{value}x-ms-lease-id: injected'"
+ )
+
@pytest.mark.live_test_only
@BlobPreparer()
async def test_delete_blobs_simple(self, **kwargs):