[Storage] STG 103/104 Features#47642
Conversation
There was a problem hiding this comment.
Pull request overview
This PR delivers Storage "STG 103/104" features across two packages. In azure-storage-file-share, it introduces auto-paging list_ranges / list_ranges_diff APIs on ShareFileClient (sync + async) backed by a new public FileRange model and a FileRangePaged iterator, while deprecating the legacy dict-returning get_ranges / get_ranges_diff. Generated code gains marker / maxresults request params and a NextMarker response field to support continuation tokens. In azure-storage-blob, generated code surfaces x-ms-content-crc64 on block-blob upload responses and access-tier headers on download responses, with corresponding tests. Both packages add service version 2026-10-06.
Changes:
- File Share: new
FileRangemodel +list_ranges/list_ranges_diffpaging APIs; deprecateget_ranges/get_ranges_diff; generated paging support (marker/maxresults/next_marker). - Blob: surface
content_crc64on upload responses and access-tier fields ondownload_blobproperties; add tests. - Both: add API version
2026-10-06.
Note: The public file-share surface snapshot
api.mdstill lists onlyget_ranges/get_ranges_diffand does not includeFileRange,list_ranges, orlist_ranges_diff. Sinceapi.mdis not part of this PR's diff it cannot be commented on inline, but it appears to need regeneration to pass the API-surface consistency check.
Reviewed changes
Copilot reviewed 30 out of 30 changed files in this pull request and generated 1 comment.
Show a summary per file
| File | Description |
|---|---|
| fileshare/_models.py | Adds FileRange, parse_file_range_list merge helper, sync FileRangePaged |
| fileshare/aio/_models.py | Adds async FileRangePaged |
| fileshare/_file_client.py | Adds sync list_ranges/list_ranges_diff; deprecates get_ranges/get_ranges_diff |
| fileshare/aio/_file_client_async.py | Async equivalents; docstring drops versionadded (flagged) |
| fileshare/_file_client.pyi / aio/_file_client_async.pyi | Stub signatures for new APIs |
| fileshare/init.py | Exports FileRange |
| fileshare/_serialize.py | Adds 2026-10-06 |
| fileshare/_generated/.../_file_operations.py (+aio) | Adds marker/maxresults params |
| fileshare/_generated/models/_models_py3.py | Adds next_marker to ShareFileRangeList |
| fileshare/CHANGELOG.md | Documents new/deprecated APIs |
| fileshare/tests/test_file.py / test_file_async.py | Tests for list_ranges/list_ranges_diff; metadata assert cleanup |
| blob/_serialize.py | Adds 2026-10-06 |
| blob/_generated/.../_block_blob_operations.py (+aio) | Adds x-ms-content-crc64 response header |
| blob/_generated/.../_blob_operations.py (+aio) | Adds access-tier headers to download responses |
| blob/tests/test__blob.py | Assertions for content_md5/content_crc64 and download access tier |
| blob/CHANGELOG.md | Documents crc64 + access-tier additions |
| .. deprecated:: | ||
| Use :func:`list_ranges_diff` instead. |
No description provided.