Skip to content

Commit 261c976

Browse files
authored
Merge pull request #423 from zezha-msft/1.0rc
GA 1.0.0
2 parents d4eb184 + 7198ce2 commit 261c976

File tree

559 files changed

+27568
-22563
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

559 files changed

+27568
-22563
lines changed
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,7 @@
11
# Breaking Changes azure-storage-blob
22

33
> See the [Change Log](ChangeLog.md) for a summary of storage library changes.
4+
5+
## Version 1.0.0:
6+
7+
- Metadata keys are now case-preserving when fetched from the service. Previously they were made lower-case by the library.

azure-storage-blob/ChangeLog.md

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,12 +2,13 @@
22

33
> See [BreakingChanges](BreakingChanges.md) for a detailed list of API breaks.
44
5-
## Version XX.XX.XX:
5+
## Version 1.0.0:
66

7+
- The package has switched from Apache 2.0 to the MIT license.
78
- Fixed bug where get_blob_to_* cannot get a single byte when start_range and end_range are both equal to 0.
89
- Optimized page blob upload for create_blob_from_* methods, by skipping the empty chunks.
910
- Added convenient method to generate container url (make_container_url).
10-
- The package has switched from Apache 2.0 to the MIT license.
11+
- Metadata keys are now case-preserving when fetched from the service. Previously they were made lower-case by the library.
1112

1213
## Version 0.37.1:
1314

azure-storage-blob/azure/storage/blob/_constants.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
# --------------------------------------------------------------------------
66

77
__author__ = 'Microsoft Corp. <[email protected]>'
8-
__version__ = '0.37.1'
8+
__version__ = '1.0.0'
99

1010
# x-ms-version for storage service.
1111
X_MS_VERSION = '2017-04-17'

azure-storage-blob/azure/storage/blob/baseblobservice.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1900,6 +1900,9 @@ def get_blob_to_stream(
19001900
_validate_not_none('blob_name', blob_name)
19011901
_validate_not_none('stream', stream)
19021902

1903+
if end_range is not None:
1904+
_validate_not_none("start_range", start_range)
1905+
19031906
# If the user explicitly sets max_connections to 1, do a single shot download
19041907
if max_connections == 1:
19051908
blob = self._get_blob(container_name,

azure-storage-blob/setup.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@
5151

5252
setup(
5353
name='azure-storage-blob',
54-
version='0.37.1',
54+
version='1.0.0',
5555
description='Microsoft Azure Storage Blob Client Library for Python',
5656
long_description=open('README.rst', 'r').read(),
5757
license='MIT License',
@@ -74,7 +74,7 @@
7474
packages=find_packages(),
7575
install_requires=[
7676
'azure-common>=1.1.5',
77-
'azure-storage-common>=0.37.1,<0.38.0'
77+
'azure-storage-common>=1.0.0,<1.1.0'
7878
],
7979
extras_require={
8080
":python_version<'3.0'": ['futures'],

azure-storage-common/BreakingChanges.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,6 @@
22

33
> See the [Change Log](ChangeLog.md) for a summary of storage library changes.
44
5-
## Version XX.XX.XX:
5+
## Version 1.0.0:
66

7-
- Renamed the confusing argument name increment_power to increment_base on ExponentialRetry.
7+
- Renamed the confusing argument name increment_power to increment_base on ExponentialRetry.

azure-storage-common/ChangeLog.md

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,14 +2,16 @@
22

33
> See [BreakingChanges](BreakingChanges.md) for a detailed list of API breaks.
44
5-
## Version XX.XX.XX:
5+
## Version 1.0.0:
6+
7+
- The package has switched from Apache 2.0 to the MIT license.
68
- Added back the ability to generate account SAS for table service.
79
- Fixed bug where a question mark prefix on SAS tokens causes failures.
8-
- The package has switched from Apache 2.0 to the MIT license.
910
- Fixed the handling of path style host for the Storage Emulator, specifically the location lock and retry to secondary location.
1011
- Renamed the confusing argument name increment_power to increment_base on ExponentialRetry.
1112

1213
## Version 0.37.1:
14+
1315
- Fixed the return type of __add__ and __or__ methods on the AccountPermissions class
1416
- Added the captured exception to retry_context, in case the user wants more info in retry_callback or implement their own retry class.
1517
- Added random jitters to retry intervals, in order to avoid multiple retries to happen at the exact same time

azure-storage-common/azure/storage/common/_constants.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
import platform
77

88
__author__ = 'Microsoft Corp. <[email protected]>'
9-
__version__ = '0.37.1'
9+
__version__ = '1.0.0'
1010

1111
# UserAgent string sample: 'Azure-Storage/0.37.0-0.38.0 (Python CPython 3.4.2; Windows 8)'
1212
# First version(0.37.0) is the common package, and the second version(0.38.0) is the service package

azure-storage-common/azure/storage/common/_deserialization.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -90,7 +90,7 @@ def _parse_metadata(response):
9090

9191
metadata = _dict()
9292
for key, value in response.headers.items():
93-
if key.startswith('x-ms-meta-'):
93+
if key.lower().startswith('x-ms-meta-'):
9494
metadata[key[10:]] = _to_str(value)
9595

9696
return metadata

azure-storage-common/azure/storage/common/_http/httpclient.py

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -95,7 +95,11 @@ def perform_request(self, request):
9595
status = int(response.status_code)
9696
response_headers = {}
9797
for key, name in response.headers.items():
98-
response_headers[key.lower()] = name
98+
# Preserve the case of metadata
99+
if key.lower().startswith('x-ms-meta-'):
100+
response_headers[key] = name
101+
else:
102+
response_headers[key.lower()] = name
99103

100104
wrap = HTTPResponse(status, response.reason, response_headers, response.content)
101105
response.close()

0 commit comments

Comments
 (0)