This repository has been archived by the owner on Aug 1, 2024. It is now read-only.
Releases: Azure/azure-storage-net
Releases · Azure/azure-storage-net
Storage Client Library 8.2.1
Changes in 8.2.1 :
- All: Fixed a bug where empty metadata headers would lead to an infinite loop when trying to list blobs on a container.
Storage Client Library 8.2.0
Changes in 8.2.0
- All: Support for 2017-04-17 REST version. Please see our REST API documentation and blogs for information about the related added features. If you are using the Storage Emulator, please update to Emulator version 5.2.
- Files: Added support for server side encryption.
- PageBlobs: For Premium Accounts only, added support for getting and setting the tier on a page blob. The tier can also be set when creating or copying from an existing page blob.
- Tables (NetCore): Fixed a bug where the empty etag added to the table delete operation would throw exception on Xamarin/Mono.
- All: Fixed a bug where calling OpenWrite with an IfNotExists access condition on an existing block blob only fails when the blob is committed, now it fails with error 409 as soon as OpenWrite is called.
- Files (WinRT/NetCore): Calling CreateIfNotExistsAsync on a root directory no longer throws the error 405. It returns false if the share exists, or throws 404 if not.
- All: Connection string support expanded to allow AccountName to be specified with SharedAccessSignature and DefaultEndpointsProtocol. In this case, SharedAccessSignature is used for credentials, while having both DefaultEndpointsProtocol and AccountName allows the library to infer a set of default endpoints. Additionally, we have added support for BlobSecondaryEndpoint, QueueSecondaryEndpoint, TableSecondaryEndpoint, and FileSecondaryEndpoint. Specifying a secondary endpoint requires the specification of the corresponding primary.
- All: The use of DefaultEndpointsProtocol in a connection string is now optional in the case where endpoints would be automatically generated; if missing, a value of https will be inferred. When the parsed account settings in such a case are used to generate a connection string, the value of DefaultEndpointsProtocol will be explicitly included.
- Tables: Added TableEntityAdapter class to allow writing and reading simple or complex objects to Azure Table Storage without the need to implement ITableEntity interface or inherit from TableEntity class.
Storage Client Library 8.1.4
Changes in 8.1.4 :
- All(Desktop): Fixed a regression in the executor caused by disposing the SendStream during parallel operations.
Storage Client Library 8.1.3
Changes in 8.1.3 :
- Blobs (Desktop) : Fixed a bug where the MaximumExecutionTime was not honored, leading to infinite wait, if due to a failure, e.g., a network failure after receiving the response headers, server stopped sending partial response.
- All(Desktop) : Fixed a memory leak issue where the SendStream was not being disposed during retries, cancellations and Table Operations.
Storage Client Library 8.1.1
Changes in 8.1.1 :
- All (NetStandard/NetCore): Removed Microsoft.Data.Services.Client as a temporary fix to ODataLib dependency incompatibility with NetStandard
Changes in 8.1.0 :
- All: Updated OData references to the latest Netstandard friendly package version 5.8.2.
- Queues (WinRT/NetCore): Fixed a bug where connections were not closed after an add message operation.
Storage Client Library 8.0.1
Changes in 8.0.1 :
- (NetStandard/Xamarin) : Fix for a break in Xamarin Apps with Streaming APIs caused by NotImplemented IncrementalHash APIs in Xamarin Runtime.
Storage Client Library 8.0.0
Breaking Changes since 7.0
- All: (Desktop) Updated the desktop library to target .Net 4.5.0
- Queues: Add Message now modifies the PopReceipt, Id, NextVisibleTime, InsertionTime, and ExpirationTime properties of its CloudQueueMessage parameter. The message can then be passed to the UpdateMessage and DeleteMessage APIs.
- Blobs/Files: Populate content MD5 for range gets on Blobs and Files.
- Blobs: BlobContainerPublicAccess enum has a new value "Unknown".
- All: Decoupled StorageExtendedErrorInformation methods using OData to prevent the dependency from loading for Blobs, Queues, and Files.
- Table: OData methods used to process the Extended Error Information for Table operations have now moved to its own static utility class - ODataErrorHelper.
- All: Added logging for the ExtendedErrorInformation 'ErrorMessage' attribute via StorageException ToString() method.
- Files: Changed Exists() calls on CloudFileDirectory objects to now populate metadata. This was already being done for CloudFiles and CloudFileShares.
- Blobs: Change boundary checks for lease duration to be in line with those used in the REST endpoints.
- All: (WinRT) Removed the static CloudStorageAccount.Create method. The instance level consructor should be used instead.
- Blobs: Removed the IAsyncOperation* overloads for GetPageRangesDiffAsync APIs.
- Table: (WinRT/NetCore) Unsealed the TableQuery class.
- All: Added the 'virtual' qualifier to Get*Reference APIs and unsealed Blob/Container/ShareResultSegment classes.
- All: Added the 'virtual' qualifier to numerous service call APIs.
- Tables: Updated the access modifiers of "Entity" and "OperationType" properties of the TableOperation class from internal to public.
- Tables: The ServerTimeout for the table service is enforced by the Table Serivce (previously disregarded).
- Blobs: Removed the IAsyncOperation* overloads for GetPageRangesDiffAsync APIs.
- Tables: Numerous changes in Table Service error codes and messages.
- Blobs: Improved numerous Blob Service error codes and messages.
- Blobs: Fixed error for AcquireLease on non-existent container.
- PageBlobs: Fixed error response for GetPageRangesDiff.
- Blobs: Update in "If-None-Match: *" pre-condition behavior to fail for reads(previously disregarded by the service).
Changes in 8.0.0 :
- All: Support for 2016-05-31 REST version. Please see our REST API documentation and blogs for information about the related added features. If you are using the Storage Emulator, please update to Emulator version 4.6.
- All: (Desktop) Updated the desktop library to target .Net 4.5.0.
- All: Added a new Netstandard 1.0 Target Framework (facade) as PCL support.
- Blobs: Added large block blob upload support. The supported Blocks can now support sizes up to 100 MB.
- Blobs: Added a new, memory-optimized upload algorithm for UploadFrom* APIs. This strategy only applies for blocks greater than 4MB and when StoreBlobContentMD5 and Client-Side Encryption are disabled.
- All: Added Key Rotation support for Client Side Encryption.
- All: Fixed a race condition where calls to CreateIfNotExistsAsync and DeleteIfExistsAsync might never complete when the operation is canceled.
- Tables: Added Flattener/Recomposer APIs for writing complex objects to Azure Table Storage.
- Blobs: Fixed boundary checks for lease durations and break lease period to be in line with REST endpoints.
- Queues: Add Message now modifies the PopReceipt, Id, NextVisibleTime, InsertionTime, and ExpirationTime properties of its CloudQueueMessage parameter. The message can then be passed to the UpdateMessage and DeleteMessage APIs.
- PageBlobs: Added a new method that performs an incremental snapshot copy. See the service documentation for more information on how to use this API.
- Files: Prefix support for listing files and directories.
- Blobs: Created a new container attribute that stores the public access state of the container. This attribute is populated by FetchAttributes and in container listing operations.
- Blobs/Files: Populate content MD5 for range gets on Blobs and Files.
- Blobs/Files: Updated DownloadToFile to prevent reading of partially-written data while downloading.
- All: Added support for using Create/Delete and CreateIfNotExists/DeleteIfExists without read SAS permissions. CreateIfNotExists methods will now only do one REST call instead of two.
- Blobs: Fixed a bug with OpenWrite for BlockBlobs where Upload* APIs would fail due to lack of read SAS permissions.
- All: Decoupled StorageExtendedErrorInformation methods using OData to prevent the dependency from loading for Blobs, Queues, and Files.
- Tables: OData methods used to process the Extended Error Information for Table operations have now moved to its own static utility class - ODataErrorHelper.
- All: Added logging for the ExtendedErrorInformation 'ErrorMessage' attribute via StorageException ToString() method.
- All: Added the 'virtual' qualifier to Get*Reference APIs and unsealed Blob/Container/ShareResultSegment classes.
- All: Added the 'virtual' qualifier to numerous service call APIs.
- Blobs (WinRT/CoreCLR): Fixed a bug where the Content-Disposition header was not persisted when uploading a new blob.
- Table (CoreCLR): Fixed a bug where reflection-based Read/Write of TableEntity would throw for derived properties.
- Blobs/Files: Fixed a bug where creating Blob/Files would fail if Account SAS is present in the URI.
- Table: (WinRT/NetCore) Unsealed the TableQuery class.
- Table: Updated the access modifiers of "Entity" and "OperationType" properties of the TableOperation class from internal to public.
- All: Using a SAS token with a non-null 'api-version' parameter will cause an ArgumentException with a new clearer message indicating the unexpected parameter in the SAS token.
- Files: Changed Exists() calls on CloudFileDirectory objects to populate metadata. This was already being done for CloudFiles and CloudFileShares.
- All: (WinRT) Removed the static CloudStorageAccount.Create method. Please use the instance level consructor instead.
- Blobs: Removed the IAsyncOperation* overloads for GetPageRangesDiffAsync APIs.
- Tables: Numerous changes in Table Service error codes and messages.
- Blobs: Improved numerous Blob Service error codes and messages.
- Blobs: Fixed error for AcquireLease on non-existent container.
- PageBlobs: Fixed error response for GetPageRangesDiff.
- Blobs: Update in "If-None-Match: *" pre-condition behavior to fail for reads(previously disregarded by the service).
Storage Client Library 7.2.1
Changes in 7.2.1 :
- All: Changes in error handling in the case where Streams that are passed into the library have a specific bug. This case will no longer crash the AppDomain
Storage Client Library 7.2.0
- All (CoreCLR): NetStandard target framework changed to netstandard1.3
- All (PCL): Removed support for PCL in favor of NetStandard GA release
- Table (CoreCLR) : Added a workaround for missing GetProperties method on TypeInfo in reflection-based Read/Write methods in TableEntity after change to netstandard11.3 TFM
- Table (CoreCLR) : Added logic to wrap the error stream in a noncloseable stream to prevent it from being disposed by ODataMessageReader
Storage Client Library 7.1.2
Changes in 7.1.3-preview:
- All : CoreCLR projects were updated to use the RTM release of .Net Core 1.0
Changes in 7.1.2 :
- All: Support for 2015-12-11 REST version. Please see our REST API documentation and blogs for information about the related added features. If you are using the Storage Emulator, please update to Emulator version 4.4.
- Blobs: Added support for server-side encryption.
- All: Fixed a bug with ContinuationToken where empty TargetLocation resulted in an error in deserialization.
- Blobs/Tables/Queues: Bug fix and tests for running GetServiceStats with the incompatible PrimaryOnly location mode.
- All (WinRT): Fixed a bug where HttpClient default timeout caused unhandled TaskCancellation exceptions.
- All (CoreCLR): Updated the default AutomaticDecompression Method on StorageAuthenticationHttpHandler from Gzip | Deflate to None.
- Table (CoreCLR) : Fixed a bug where reading table entity properties returned only the declared properties.