* Increment package version after release of azure-storage-common * Increment package version after release of azure-storage-blobs * Increment package version after release of azure-storage-files-datalake * Increment package version after release of azure-storage-files-shares * Increment package version after release of azure-storage-queues
24 KiB
24 KiB
Release History
12.16.0-beta.2 (Unreleased)
Features Added
Breaking Changes
Bugs Fixed
Other Changes
12.16.0-beta.1 (2025-11-27)
Features Added
- Bumped up API version to
2026-02-06. - Added new field
StartFromparameter inListBlobsOptions. - Added support for Principal-Bound Identity User Delegation SAS.
- Added new Sas parameter
DelegatedUserObjectIdinBlobSasBuilderwhich means the object id of the user in Azure AD to which the SAS is delegated.
- Added new Sas parameter
- Added support for conditional headers in
SetBlobTagsOptionsandGetBlobTagsOptions.
12.15.0 (2025-10-15)
Features Added
- Features in
12.15.0-beta.1are now generally available.
12.14.0 (2025-07-21)
Features Added
- Features in
12.14.0-beta.1are now generally available.
12.15.0-beta.1 (2025-06-24)
Features Added
- Added more useful error message when the SDK encounters an x-ms-version mis-match issue.
12.14.0-beta.1 (2025-05-13)
Features Added
- Bumped up API version to
2025-07-05. - Added new field
FileRequestIntentinCopyBlobFromUriOptions,UploadBlockBlobFromOptions,StageBlockFromUriOptions,AppendBlockFromUriOptions,UploadPagesFromUriOptions
12.13.0 (2024-09-17)
Features Added
- Features in
12.13.0-beta.1are now generally available.
12.13.0-beta.1 (2024-08-07)
Features Added
- Added ability to retrieve SAS string to sign for debugging purposes.
Other Changes
Acknowledgments
Thank you to our developer community members who helped to make Azure Storage Blobs better with their contributions to this release:
- Robert Schulze (GitHub)
12.12.0 (2024-07-16)
Features Added
- Features in
12.12.0-beta.1are now generally available.
12.12.0-beta.1 (2024-06-11)
Features Added
- Bumped up API version to
2024-08-04. - Added
BlobContainerClient::GetAccountInfo()andBlobClient::GetAccountInfoAPIs. - Added more detailed messaging for authorization failure cases.
12.11.0 (2024-05-07)
Features Added
- Features in
12.11.0-beta.1are now generally available.
12.11.0-beta.1 (2024-04-17)
Features Added
- Bumped up API version to
2023-11-03.
12.10.0 (2023-11-07)
Features Added
- Features in
12.10.0-beta.1are now generally available.
12.10.0-beta.1 (2023-10-17)
Features Added
- Added new extendable enum
BlobAudience - Added new field
AudienceinBlobClientOptions
12.9.0 (2023-09-12)
Features Added
- Features in
12.9.0-beta.1and12.9.0-beta.2are now generally available.
12.9.0-beta.2 (2023-08-12)
Features Added
- TenantId can now be discovered through the service challenge response, when using a TokenCredential for authorization.
- A new property is now available on
BlobClientOptionscalledEnableTenantDiscovery. If set totrue, the client will attempt an initial unauthorized request to the service to prompt a challenge containing the tenantId hint.
- A new property is now available on
- Added a new field
SourceAuthorizationin options for copy operations, which can be used to specify authorization for copy source.
12.9.0-beta.1 (2023-08-08)
Features Added
- Added
RehydratePendingToColdvalue toArchiveStatusenum.
Bugs Fixed
- Fixed a bug where
PageBlobClient::GetPageRangesDiffandPageBlobClient::GetManagedDiskPageRangesDiffcrash when getting the second page.
12.8.0 (2023-07-11)
Features Added
- Features in
12.8.0-beta.1are now generally available.
12.8.0-beta.1 (2023-05-31)
Features Added
- Bumped up API version to
2022-11-02. - Content length limit for
AppendBlobClient::AppendBlock()andAppendBlobClient::AppendBlockFromUri()was raised from 4 MiB to 100 MiB.
12.7.0 (2023-03-07)
Features Added
- Features in
12.7.0.beta.1are now generally available.
12.7.0-beta.1 (2023-02-07)
Features Added
- Bumped up API version to
2021-12-02. - Added support for new access tier
Cold.
Bugs Fixed
- Fixed a bug where setting premium page blob tier operations always fail.
12.6.2 (2022-10-11)
Other Changes
- No public changes in this release.
12.6.1 (2022-09-16)
Other changes
- No public changes in this release.
12.6.0 (2022-09-06)
Features Added
- Features in
12.6.0.beta.1are now generally available.
Bugs Fixed
- Empty file or existing file won't be created/overwritten if the blob to be downloaded doesn't exist.
12.6.0-beta.1 (2022-08-09)
Features Added
- Bumped up API version to
2021-04-10. - Added support for encryption scope SAS (
sesquery parameter in SAS token). - Added encryption scope support for
BlobClient::CopyFromUri(). - Added support for filtering blobs on container level.
- Added support for tags copy mode (replace or copy from source) when copying blobs from URL.
- Added support for permanent delete permission in SAS.
Bugs Fixed
- Fixed listing blobs failure when blob name contains invalid characters in xml.
12.5.0 (2022-08-08)
Features Added
- Features in
12.5.0.beta1and12.5.0.beta2are now generally available.
12.5.0-beta.2 (2022-07-07)
Features Added
- Added support for Blob Batch.
12.5.0-beta.1 (2022-06-07)
Features Added
- Bumped up API version to
2020-10-02. - Added new API:
BlockBlobClient::Query(). - Added
ContinuationTokenandPageSizeHintinGetPageRangesOptions. - Added support for listing system containers.
- Added support for listing deleted root blob with active versions.
12.4.0 (2022-04-06)
Other changes
- No public changes in this release.
12.4.0-beta.1 (2022-03-09)
Features Added
- Bumped up API version to
2020-08-04. - Bumped up SAS token version to
2020-08-04. - Added support for immutability policy.
- New API:
BlobClient::CopyFromUri(),BlobClient::SetImmutabilityPolicy(),BlobClient::DeleteImmutabilityPolicy(),BlobClient::SetLegalHold(),BlockBlobClient::UploadFromUri()andBlobServiceClient::RenameBlobContainer(). - Added lease access condition support for
BlobClient::SetTags()andBlobClient::GetTags().
12.3.0 (2022-02-14)
Features Added
- Added
VersionIdinSetBlobMetadataResult.
12.2.1 (2021-11-08)
Other Changes
DefaultEncryptionScopeandPreventEncryptionScopeOverrideinBlobContainerPropertieswere changed to optional.
12.2.0 (2021-09-08)
Breaking Changes
StartsOnandExpiresOninSignedIdentifierwere changed to nullable.
Bugs Fixed
- Fixed a bug where prefix cannot contain
&when listing blobs.
Other Changes
- Create less threads if there isn't too much data to transfer.
12.1.0 (2021-08-10)
Features Added
- Added lease ID access condition and tags access condition for
BlobClient::SetAccessTier(). - Added source ETag access conditions and last-modified access conditions for
PageBlobClient::UploadPagesFromUri(). - Added three new fields
IsServerEncrypted,EncryptionKeySha256andEncryptionScopeintoSetBlobMetadataResult. - Added support for setting blob tags when creating or copying blobs.
- Added new fields
AccessTierChangedOn,ArchiveStatus,RehydratePriority,CopyId,CopySource,CopyStatus,CopyStatusDescription,IsIncrementalCopy,IncrementalCopyDestinationSnapshot,CopyProgress,CopyCompletedOn,Tags,DeletedOnandRemainingRetentionDaysintoBlobItemDetails. - Added support for including blob tags when listing blobs.
Bugs Fixed
- Fixed a bug where lease ID didn't work for
BlobContainerClient::GetAccessPolicy(). - Fixed a bug where sequence number access conditions didn't work for page blob operations.
- Fixed a bug where
BlobItemDetails::EncryptionKeySha256was always null because it wasn't correctly parsed from xml. - Fixed a bug where
BlockBlobClient::GetBlockListthrew exception if the blob is not committed.
12.0.1 (2021-07-07)
Bug Fixes
- Fixed a bug where transactional MD5 hash was treated as blob MD5 hash when downloading partial blob.
12.0.0 (2021-06-08)
Other Changes and Improvements
- Added and updated some samples.
- Fixed a read consistency issue.
12.0.0-beta.11 (2021-05-19)
Breaking Changes
- Added
finalspecifier to classes and structures that are are not expected to be inheritable at the moment. - Renamed
HasMorePages()in paged response toHasPage(). - Default chunk size for concurrent upload was changed to nullable.
BlobLeaseClient::Change()updates internal lease id.- Removed
ContentTypefromGetBlockListResult. - Moved
GetPageRangesResultto detail namespace. BlobServiceClient::UndeleteBlobContainerdoesn't support restoring a deleted container under a different name anymore.- Changed the type of block count to
int32_t.
12.0.0-beta.10 (2021-04-16)
Breaking Changes
- Removed
Azure::Storage::Blobs::PackageVersion. - Renamed
GetUserDelegationKeyOptions::startsOntoStartsOn. - Replaced all paginated collection functions that have the SinglePage suffix with pageable functions returning a
PagedResponse<T>-derived type. The options are also renamed accordingly.BlobServiceClient::ListBlobContainers().BlobServiceClient::FindBlobsByTags().BlobContainerClient::ListBlobs().BlobContainerClient::ListBlobsByHierarchy().PageBlobClient::GetPageRanges().PageBlobClient::GetPageRangesDiff().PageBlobClient::GetManagedDiskPageRangesDiff().
- Renamed
FilterBlobItemtoTaggedBlobItem.FindBlobsByTags()now returnsFindBlobsByTagsPagedResponseand the fieldFindBlobsByTagsSinglePageResult::Itemswas renamed toFindBlobsByTagsPagedResponse::TaggedBlobs.
12.0.0-beta.9 (2021-03-23)
New Features
- Added support for telemetry options.
- Added
Azure::Storage::Blobs::PackageVersion. - Added
ShareFileClient::GetRangeListDiff.
Breaking Changes
- Changed the return type of
StartCopyFromUriandStartCopyIncrementalAPI from aResponse<T>to the particularOperation<T>type calledStartBlobCopyOperationdirectly. - String conversion functions of extensible enums were renamed from
Get()toToString(). - Moved
SecondaryHostForRetryReadsout of retry options, now it's underBlobClientOptions. - Changed the return types of the following APIs:
BlobServiceClient::DeleteBlobContainernow returnsDeleteBlobContainerResult.BlobServiceClient::GetUserDelegationKeynow returnsUserDelegationKey.BlobServiceClient::GetPropertiesnow returnsBlobServiceProperties.BlobServiceClient::GetAccountInfonow returnsAccountInfo.BlobServiceClient::GetStatisticsnow returnsServiceStatistics.BlobContainerClient::DeleteBlobnow returnsDeleteBlobResult.BlobContainerClient::GetPropertiesnow returnsBlobContainerProperties.BlobContainerClient::GetAccessPolicynow returnsBlobContainerAccessPolicy.BlobClient::GetPropertiesnow returnsBlobProperties.BlobClinet::GetTagsnow returnsstd::map<std::string, std::string>.BlobClient::AbortCopyFromUrinow returnsAbortBlobCopyFromUriResult.PageBlobClient::UploadPagesnow returnsUploadPagesResult.PageBlobClient::UploadPagesFromUrinow returnsUploadPagesFromUriResult.PageBlobClient::ClearPagesnow returnsClearPagesResult.PageBlobClient::GetPageRanges,PageBlobClient::GetPageRangesDiffandPageBlobClient::GetManagedDiskPageRangesDiffnow returnGetPageRangesResult.
- Renamed some options:
- Renamed
UploadPageBlobPagesOptionstoUploadPagesOptions. - Renamed
UploadPageBlobPagesFromUriOptionstoUploadPagesFromUriOptions. - Renamed
ClearPageBlobPagesOptionstoClearPagesOptions. - Renamed
GetPageBlobPageRangesOptionstoGetPageRangesOptions. - Renamed
StartCopyBlobFromUriOptionstoStartBlobCopyFromUriOptions. - Renamed
StartCopyPageBlobIncrementalOptionstoStartBlobCopyIncrementalOptions.
- Renamed
- Removed
Blobfrom the name of lease options and return types, likeAcquireBlobLeaseOptionswas renamed toAcquireLeaseOptions. - Removed
Blobprefix from the name of structsBlobGeoReplication,BlobLeaseStatus,BlobLeaseState,BlobLeaseDurationType,BlobAnalyticsLogging,BlobMetrics,BlobCorsRule,BlobRetentionPolicy,BlobStaticWebsite,BlobArchiveStatusandBlobGeoReplicationStatus. - Removed
RequestIdfrom return types. - Changed
BodyStreamparameter ofUploadBlob,Upload,UploadPagesandAppendBlockfunctions from pointer to reference. - Renamed access tier members in return types and options from
TiertoAccessTier. - Renamed
BlockListTypeOptiontoBlockListType.
12.0.0-beta.8 (2021-02-12)
Breaking Changes
- Removed
BreakBlobLeaseResult::Leasetime. - Moved
Azure::Core::Contextout of options bag of each API, and make it the last optional parameter.
12.0.0-beta.7 (2021-02-03)
New Features
- Added
RequestIdin API return types. - Added some new properties in
GetBlobPropertiesResult,DownloadBlobResultandDownloadBlobToResult. - Added
RangeHashAlgorithminDownloadBlobOptions. - Added
UploadBlobinBlobContainerClient.
Breaking Changes
UserDelegationKeywas changed to a member ofGetUserDelegationKeyResultrather than a typedef like before.AccessTypeinCreateBlobContainerOptionswas changed to non-nullable.ListTypeinGetBlockListOptionswas changed to non-nullable.- Added
BlobLeaseClient, all lease related APIs are moved toBlobLeaseClient. - Type for lease duration in requests was changed to
std::chrono::seconds, in response was changed to enum. PublicAccessType::Privatewas renamed toPublicAccessType::None.startsOnparameter forGetUserDelegationKeywas changed to optional.- Removed
IfUnmodifiedSincefromSetBlobContainerMetadataOptions. - Return types of
BlobClient::StartCopyFromUriandPageBlobClient::StartCopyIncrementalwere changed toStartCopyBlobResult, supporting poll operations. - Fixed typo
Expiriesin model types. - Removed
PreviousContinuationTokenfromListBlobContainersSinglePageResult,ListBlobsByHierarchySinglePageResultandListBlobsSinglePageResult. ListBlobContainersIncludeItemwas renamed toListBlobContainersIncludeFlags.ListBlobsIncludeItemwas renamed toListBlobsIncludeFlags.Concurrency,ChunkSizeandInitialChunkSizewere moved intoDownloadBlobToOptions::TansferOptions.Concurrency,ChunkSizeandSingleUploadThresholdwere moved intoUploadBlockBlobFromOptions::TransferOptions.- Removed
TagValuefromFilterBlobItem, removedWherefromFindBlobsByTagsSinglePageResult. - Type for ETag was changed to
Azure::Core::ETag. - Removed
BlobPrefixstruct, usestd::stringinstead. - Refined
BlobContainerItem,BlobItem,DownloadBlobResultandDownloadBlobToResult.
12.0.0-beta.6 (2021-01-14)
New Features
- Added
CreateIfNotExistsandDeleteIfExistsfor blob containers and blobs. - Added
IsHierarchicalNamespaceEnabledinGetAccountInfoResult. - Added
PageBlobClient::GetPageRangesDiffandPageBlobClient::GetManagedDiskPageRangesDiff. - Added
CreateBlobContainer,DeleteBlobContainer,UndeleteBlobContainerintoBlobServiceClient. - Added
DeleteBlobtoBlobContainerClient. - Support setting blob SAS permission with a raw string.
Breaking Changes
- Renamed
AppendBlobAccessConditions::MaxSizetoIfMaxSizeLessThanOrEqual. - Renamed
AppendBlobAccessConditions::AppendPositiontoIfAppendPositionEqual. BlobServiceProperties.DefaultServiceVersionis now nullable.- Renamed
DeleteBlobSubRequest::containerNametoblobContainerName. - Renamed
SetBlobAccessTierSubRequest::containerNametoblobContainerName. - Renamed
BlobSasBuilder::ContainerNametoBlobContainerName. - Renamed
BlobSasResource::ContainertoBlobContainer. - Renamed
AccountSasResource::ContainertoBlobContainer - Renamed some structs:
CreateContainerResulttoCreateBlobContainerOptionsCreateContainerOptionstoCreateBlobContainerOptionsDeleteContainerResulttoDeleteBlobContainerResultDeleteContainerOptionstoDeleteBlobContainerOptionsGetContainerPropertiesResulttoGetBlobContainerPropertiesResultGetContainerPropertiesOptionstoGetBlobContainerPropertiesOptionsSetContainerMetadataResulttoSetBlobContainerMetadataResultSetContainerMetadataOptionstoSetBlobContainerMetadataOptionsGetContainerAccessPolicyResulttoGetBlobContainerAccessPolicyResultGetContainerAccessPolicyOptionstoGetBlobContainerAccessPolicyOptionsSetContainerAccessPolicyResulttoSetBlobContainerAccessPolicyResultSetContainerAccessPolicyOptionstoSetBlobContainerAccessPolicyOptionsAcquireContainerLeaseResulttoAcquireBlobContainerLeaseResultAcquireContainerLeaseOptionstoAcquireBlobContainerLeaseOptionsRenewContainerLeaseResulttoRenewBlobContainerLeaseResultRenewContainerLeaseOptionstoRenewBlobContainerLeaseOptionsReleaseContainerLeaseResulttoReleaseBlobContainerLeaseResultReleaseContainerLeaseOptionstoReleaseBlobContainerLeaseOptionsChangeContainerLeaseResulttoChangeBlobContainerLeaseResultChangeContainerLeaseOptionstoChangeBlobContainerLeaseOptionsBreakContainerLeaseResulttoBreakBlobContainerLeaseResultBreakContainerLeaseOptionstoBreakBlobContainerLeaseOptionsContainerAccessConditionstoBlobContainerAccessConditionsListContainersSegmentResulttoListBlobContainersSegmentResultListContainersSegmentOptionstoListBlobContainersSegmentOptions
- API signature for
CommitBlockListhas changed.BlockTypedoesn't need to be specified anymore. PageBlobClient::GetPageRangesdoesn't support getting difference between current blob and a snapshot anymore. UsePageBlobClient::GetPageRangesDiffinstead.- Moved Blob SAS into
Azure::Storage::Sasnamespace. - Replaced all transactional content MD5/CRC64 with the
ContentHashstruct. EncryptionKeySha256is changed to binary (std::vector<uint8_t>).ContentMd5HTTP header is renamed toContentHash, the type is also changed toContentHash.ServerEncryptedfields are renamed toIsServerEncrypted, and changed to non-nullable type.- Added
Isprefix to bool variable names. LikeIsAccessTierInferred,IsDeleted. IsServerEncrypted,EncryptionKeySha256andEncryptionScopeare removed fromClearPageBlobPagesResult, since they are never returned from storage server.ListBlobsFlatSegmentis renamed toListBlobsSinglePage.ListBlobsByHierarchySegmentis renamed toListBlobsByHierarchySinglePage.ListBlobContainersSegmentis renamed toListBlobContainersSinglePage.FindBlobsByTagsis renamed toFindBlobsByTagsSinglePage.MaxResultsin list APIs are renamed toPageSizeHint.- All date time related strings are now changed to
Azure::Core::DateTimetype. - Replaced
std::pair<int64_t, int64_t>withAzure::Core::Http::Rangeto denote blob ranges. - Made version strings private by moving them into the
Detailsnamespace. - Replaced scoped enums that don't support bitwise operations with extensible enum.
- Continuation token of result types are changed to nullable.
- Renamed
Models::DeleteSnapshotsOption::OnlytoOnlySnapshots. - Renamed
SourceConditionsin API options toSourceAccessConditions. - Removed Blob Batch.
DownloadBlobResult::Content-Rangeis changed to anAzure::Core::Http::Range, an extra fieldBlobSizeis added.- Removed
UndeletefromBlobContainerClient. BlobRetentionPolicy::Enabledis renamed toBlobRetentionPolicy::IsEnabled,BlobStaticWebsite::Enabledis renamed toBlobStaticWebsite::IsEnabled.- Changed type for metadata to case-insensitive
std::map. - Changed parameter type for token credential from
Azure::Identity::ClientSecretCredentialtoAzure::Core::TokenCredential. - Renamed member function
GetUriof client types toGetUrl. BlobClient::GetBlockBlobClient,BlobClient::GetAppendBlobClientandBlobClient::GetPageBlobClientare renamed toBlobClient::AsBlockBlobClient,BlobClient::AsAppendBlobClientandBlobClient::AsPageBlobClientrespectively.
12.0.0-beta.5 (2020-11-13)
New Features
- Support for replaceable HTTP transport layer.
- Add
version.hpp.
Breaking Changes
- Move header
azure/storage/blobs/blob.hpptoazure/storage/blobs.hpp. - Service API return types which are typically suffixed with
Resultare moved to theModelssub-namespaces and everything else from the protocol layer is made private by moving to theDetailsnamespace. - Make XML serializer and deserializer private by moving them to the
Detailsnamespace. - Remove
BlockBlobClientOptions,AppendBlobClientOptionsandPageBlobClientOptions, useBlobClientOptionsinstead. - Rename
BlobSasBuilder::ToSasQueryParameterstoBlobSasBuilder::GenerateSasToken.
Other Changes and Improvements
- Default uploading/downloading concurrency is changed from 1 to 5.
- Remove support for specifying SAS version.
1.0.0-beta.4 (2020-10-16)
New Features
- Bump up API version to 2020-02-10.
- Support for Last Accessting Time.
- Add TagCount and ExpiryTime in the responses of getting properties and downloading blobs.
Breaking Changes
- Variable name change: BreakContainerLeaseOptions::breakPeriod -> BreakContainerLeaseOptions::BreakPeriod.
- Variable name change: BreakBlobLeaseOptions::breakPeriod -> BreakBlobLeaseOptions::BreakPeriod.
- CreateFromConnectionString now accepts unencoded blob name.
- TagConditions is changed to nullable.
- Variable name change:
Markeris renamed toContinuationTokenforListContainersSegmentOptions,FindBlobsByTagsOptionsandListBlobsSegmentOptions. - Variable name change:
Markeris renamed toPreviousContinuationToken,NextMarkeris renamed toContinuationTokenforFilterBlobsSegmentResult,ListContainersSegmentResult,ListBlobsByHierarchySegmentResultandListBlobsFlatSegmentResult.
Bug Fixes
- Unencoded Container/Blob name is now encoded.
1.0.0-beta.2 (2020-09-09)
New Features
- Support for Blob Batch.
- Support for Blob Index.
- Release based on azure-core_1.0.0-beta.1.
1.0.0-beta.1 (2020-08-28)
New Features
- Added support for Blob features:
- BlobServiceClient::ListBlobContainersSegment
- BlobServiceClient::GetUserDelegationKey
- BlobServiceClient::SetProperties
- BlobServiceClient::GetProperties
- BlobServiceClient::GetAccountInfo
- BlobServiceClient::GetStatistics
- BlobContainerClient::Create
- BlobContainerClient::Delete
- BlobContainerClient::GetProperties
- BlobContainerClient::SetMetadata
- BlobContainerClient::ListBlobsFlat
- BlobContainerClient::ListBlobsByHierarchy
- BlobContainerClient::Undelete
- BlobContainerClient::GetAccessPolicy
- BlobContainerClient::SetAccessPolicy
- BlobClient::GetProperties
- BlobClient::SetHttpHeaders
- BlobClient::SetMetadata
- BlobClient::SetAccessTier
- BlobClient::StartCopyFromUri
- BlobClient::AbortCopyFromUri
- BlobClient::Download
- BlobClient::DownloadToFile
- BlobClient::DownloadToBuffer
- BlobClient::CreateSnapshot
- BlobClient::Delete
- BlobClient::Undelete
- BlockBlobClient::Upload
- BlockBlobClient::UploadFromFile
- BlockBlobClient::UploadFromBuffer
- BlockBlobClient::StageBlock
- BlockBlobClient::StageBlockFromUri
- BlockBlobClient::CommitBlockList
- BlockBlobClient::GetBlockList
- AppendBlobClient::Create
- AppendBlobClient::AppendBlock
- AppendBlobClient::AppendBlockFromUri
- AppendBlobClient::Seal
- PageBlobClient::Create
- PageBlobClient::UploadPages
- PageBlobClient::UploadPagesFromUri
- PageBlobClient::ClearPages
- PageBlobClient::Resize
- PageBlobClient::GetPageRanges
- PageBlobClient::StartCopyIncremental
- Support for blob versioning.
- Support for blob lease and container lease.
- Support for account SAS and blob SAS.
- Support for transactional checksum.