BlobServiceClient::UndeleteBlobContainer doesn't support restoring a deleted container under a different name anymore.
Changed the type of block count to int32_t.
Breaking Changes
Removed Azure::Storage::Blobs::PackageVersion.
Renamed GetUserDelegationKeyOptions::startsOn to StartsOn.
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 FilterBlobItem to TaggedBlobItem.
FindBlobsByTags() now returns FindBlobsByTagsPagedResponse and the field FindBlobsByTagsSinglePageResult::Items was renamed to FindBlobsByTagsPagedResponse::TaggedBlobs.
New Features
Added support for telemetry options.
Added Azure::Storage::Blobs::PackageVersion.
Added ShareFileClient::GetRangeListDiff.
Breaking Changes
Changed the return type of StartCopyFromUri and StartCopyIncremental API from a Response<T> to the particular Operation<T> type called StartBlobCopyOperation directly.
String conversion functions of extensible enums were renamed from Get() to ToString().
Moved SecondaryHostForRetryReads out of retry options, now it's under BlobClientOptions.
Changed the return types of the following APIs:
BlobServiceClient::DeleteBlobContainer now returns DeleteBlobContainerResult.
BlobServiceClient::GetUserDelegationKey now returns UserDelegationKey.
BlobServiceClient::GetProperties now returns BlobServiceProperties.
BlobServiceClient::GetAccountInfo now returns AccountInfo.
BlobServiceClient::GetStatistics now returns ServiceStatistics.
BlobContainerClient::DeleteBlob now returns DeleteBlobResult.
BlobContainerClient::GetProperties now returns BlobContainerProperties.
BlobContainerClient::GetAccessPolicy now returns BlobContainerAccessPolicy.
BlobClient::GetProperties now returns BlobProperties.
BlobClinet::GetTags now returns std::map<std::string, std::string>.
BlobClient::AbortCopyFromUri now returns AbortBlobCopyFromUriResult.
PageBlobClient::UploadPages now returns UploadPagesResult.
PageBlobClient::UploadPagesFromUri now returns UploadPagesFromUriResult.
PageBlobClient::ClearPages now returns ClearPagesResult.
PageBlobClient::GetPageRanges, PageBlobClient::GetPageRangesDiff and PageBlobClient::GetManagedDiskPageRangesDiff now return GetPageRangesResult.
Renamed some options:
Renamed UploadPageBlobPagesOptions to UploadPagesOptions.
Renamed UploadPageBlobPagesFromUriOptions to UploadPagesFromUriOptions.
Renamed ClearPageBlobPagesOptions to ClearPagesOptions.
Renamed GetPageBlobPageRangesOptions to GetPageRangesOptions.
Renamed StartCopyBlobFromUriOptions to StartBlobCopyFromUriOptions.
Renamed StartCopyPageBlobIncrementalOptions to StartBlobCopyIncrementalOptions.
Removed Blob from the name of lease options and return types, like AcquireBlobLeaseOptions was renamed to AcquireLeaseOptions.
Removed Blob prefix from the name of structs BlobGeoReplication, BlobLeaseStatus, BlobLeaseState, BlobLeaseDurationType, BlobAnalyticsLogging, BlobMetrics, BlobCorsRule, BlobRetentionPolicy, BlobStaticWebsite, BlobArchiveStatus and BlobGeoReplicationStatus.
Removed RequestId from return types.
Changed BodyStream parameter of UploadBlob, Upload, UploadPages and AppendBlockfunctions from pointer to reference.
Renamed access tier members in return types and options from Tier to AccessTier.
Renamed BlockListTypeOption to BlockListType.
Breaking Changes
Removed BreakBlobLeaseResult::Leasetime.
Moved Azure::Core::Context out of options bag of each API, and make it the last optional parameter.
New Features
Added RequestId in API return types.
Added some new properties in GetBlobPropertiesResult, DownloadBlobResult and DownloadBlobToResult.
Added RangeHashAlgorithm in DownloadBlobOptions.
Added UploadBlob in BlobContainerClient.
Breaking Changes
UserDelegationKey was changed to a member of GetUserDelegationKeyResult rather than a typedef like before.
AccessType in CreateBlobContainerOptions was changed to non-nullable.
ListType in GetBlockListOptions was changed to non-nullable.
Added BlobLeaseClient, all lease related APIs are moved to BlobLeaseClient.
Type for lease duration in requests was changed to std::chrono::seconds, in response was changed to enum.
PublicAccessType::Private was renamed to PublicAccessType::None.
startsOn parameter for GetUserDelegationKey was changed to optional.
Removed IfUnmodifiedSince from SetBlobContainerMetadataOptions.
Return types of BlobClient::StartCopyFromUri and PageBlobClient::StartCopyIncremental were changed to StartCopyBlobResult, supporting poll operations.
Fixed typo Expiries in model types.
Removed PreviousContinuationToken from ListBlobContainersSinglePageResult, ListBlobsByHierarchySinglePageResult and ListBlobsSinglePageResult.
ListBlobContainersIncludeItem was renamed to ListBlobContainersIncludeFlags.
ListBlobsIncludeItem was renamed to ListBlobsIncludeFlags.
Concurrency, ChunkSize and InitialChunkSize were moved into DownloadBlobToOptions::TansferOptions.
Concurrency, ChunkSize and SingleUploadThreshold were moved into UploadBlockBlobFromOptions::TransferOptions.
Removed TagValue from FilterBlobItem, removed Where from FindBlobsByTagsSinglePageResult.
Type for ETag was changed to Azure::Core::ETag.
Removed BlobPrefix struct, use std::string instead.
Refined BlobContainerItem, BlobItem, DownloadBlobResult and DownloadBlobToResult.
New Features
Added CreateIfNotExists and DeleteIfExists for blob containers and blobs.
Added IsHierarchicalNamespaceEnabled in GetAccountInfoResult.
Added PageBlobClient::GetPageRangesDiff and PageBlobClient::GetManagedDiskPageRangesDiff.
Added CreateBlobContainer, DeleteBlobContainer, UndeleteBlobContainer into BlobServiceClient.
Added DeleteBlob to BlobContainerClient.
Support setting blob SAS permission with a raw string.
Breaking Changes
Renamed AppendBlobAccessConditions::MaxSize to IfMaxSizeLessThanOrEqual.
Renamed AppendBlobAccessConditions::AppendPosition to IfAppendPositionEqual.
BlobServiceProperties.DefaultServiceVersion is now nullable.
Renamed DeleteBlobSubRequest::containerName to blobContainerName.
Renamed SetBlobAccessTierSubRequest::containerName to blobContainerName.
Renamed BlobSasBuilder::ContainerName to BlobContainerName.
Renamed BlobSasResource::Container to BlobContainer.
Renamed AccountSasResource::Container to BlobContainer
Renamed some structs:
CreateContainerResult to CreateBlobContainerOptions
CreateContainerOptions to CreateBlobContainerOptions
DeleteContainerResult to DeleteBlobContainerResult
DeleteContainerOptions to DeleteBlobContainerOptions
GetContainerPropertiesResult to GetBlobContainerPropertiesResult
GetContainerPropertiesOptions to GetBlobContainerPropertiesOptions
SetContainerMetadataResult to SetBlobContainerMetadataResult
SetContainerMetadataOptions to SetBlobContainerMetadataOptions
GetContainerAccessPolicyResult to GetBlobContainerAccessPolicyResult
GetContainerAccessPolicyOptions to GetBlobContainerAccessPolicyOptions
SetContainerAccessPolicyResult to SetBlobContainerAccessPolicyResult
SetContainerAccessPolicyOptions to SetBlobContainerAccessPolicyOptions
AcquireContainerLeaseResult to AcquireBlobContainerLeaseResult
AcquireContainerLeaseOptions to AcquireBlobContainerLeaseOptions
RenewContainerLeaseResult to RenewBlobContainerLeaseResult
RenewContainerLeaseOptions to RenewBlobContainerLeaseOptions
ReleaseContainerLeaseResult to ReleaseBlobContainerLeaseResult
ReleaseContainerLeaseOptions to ReleaseBlobContainerLeaseOptions
ChangeContainerLeaseResult to ChangeBlobContainerLeaseResult
ChangeContainerLeaseOptions to ChangeBlobContainerLeaseOptions
BreakContainerLeaseResult to BreakBlobContainerLeaseResult
BreakContainerLeaseOptions to BreakBlobContainerLeaseOptions
ContainerAccessConditions to BlobContainerAccessConditions
ListContainersSegmentResult to ListBlobContainersSegmentResult
ListContainersSegmentOptions to ListBlobContainersSegmentOptions
API signature for CommitBlockList has changed. BlockType doesn't need to be specified anymore.
PageBlobClient::GetPageRanges doesn't support getting difference between current blob and a snapshot anymore. Use PageBlobClient::GetPageRangesDiff instead.
Moved Blob SAS into Azure::Storage::Sas namespace.
Replaced all transactional content MD5/CRC64 with the ContentHash struct.
EncryptionKeySha256 is changed to binary (std::vector<uint8_t>).
ContentMd5 HTTP header is renamed to ContentHash, the type is also changed to ContentHash.
ServerEncrypted fields are renamed to IsServerEncrypted, and changed to non-nullable type.
Added Is prefix to bool variable names. Like IsAccessTierInferred, IsDeleted.
IsServerEncrypted, EncryptionKeySha256 and EncryptionScope are removed from ClearPageBlobPagesResult, since they are never returned from storage server.
ListBlobsFlatSegment is renamed to ListBlobsSinglePage.
ListBlobsByHierarchySegment is renamed to ListBlobsByHierarchySinglePage.
ListBlobContainersSegment is renamed to ListBlobContainersSinglePage.
FindBlobsByTags is renamed to FindBlobsByTagsSinglePage.
MaxResults in list APIs are renamed to PageSizeHint.
All date time related strings are now changed to Azure::Core::DateTime type.
Replaced std::pair<int64_t, int64_t> with Azure::Core::Http::Range to denote blob ranges.
Made version strings private by moving them into the Details namespace.
Replaced scoped enums that don't support bitwise operations with extensible enum.
Continuation token of result types are changed to nullable.
Renamed Models::DeleteSnapshotsOption::Only to OnlySnapshots.
Renamed SourceConditions in API options to SourceAccessConditions.
Removed Blob Batch.
DownloadBlobResult::Content-Range is changed to an Azure::Core::Http::Range, an extra field BlobSize is added.
Removed Undelete from BlobContainerClient.
BlobRetentionPolicy::Enabled is renamed to BlobRetentionPolicy::IsEnabled, BlobStaticWebsite::Enabled is renamed to BlobStaticWebsite::IsEnabled.
Changed type for metadata to case-insensitive std::map.
Changed parameter type for token credential from Azure::Identity::ClientSecretCredential to Azure::Core::TokenCredential.
Renamed member function GetUri of client types to GetUrl.
BlobClient::GetBlockBlobClient, BlobClient::GetAppendBlobClient and BlobClient::GetPageBlobClient are renamed to BlobClient::AsBlockBlobClient, BlobClient::AsAppendBlobClient and BlobClient::AsPageBlobClient respectively.
Service API return types which are typically suffixed with Result are moved to the Models sub-namespaces and everything else from the protocol layer is made private by moving to the Details namespace.
Make XML serializer and deserializer private by moving them to the Details namespace.
Remove BlockBlobClientOptions, AppendBlobClientOptions and PageBlobClientOptions, use BlobClientOptions instead.
Rename BlobSasBuilder::ToSasQueryParameters to BlobSasBuilder::GenerateSasToken.
Other Changes and Improvements
Default uploading/downloading concurrency is changed from 1 to 5.
Remove support for specifying SAS version.
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: Marker is renamed to ContinuationToken for ListContainersSegmentOptions, FindBlobsByTagsOptions and ListBlobsSegmentOptions.
Variable name change: Marker is renamed to PreviousContinuationToken, NextMarker is renamed to ContinuationToken for FilterBlobsSegmentResult, ListContainersSegmentResult, ListBlobsByHierarchySegmentResult and ListBlobsFlatSegmentResult.