github Azure/azure-sdk-for-go sdk/storage/azblob/v0.6.0

0.6.0 (2022-12-08)

Features Added

  • Added BlobDeleteType to DeleteOptions to allow access to 'Permanent' DeleteType.
  • Added Set Blob Expiry API.
  • Added method ServiceClient() to the azblob.Client type, allowing access to the underlying service client.
  • Added support for object level immutability policy with versioning (Version Level WORM).
  • Added the custom CRC64 polynomial used by storage for transactional hashes, and implemented automatic hashing for transactions.

Breaking Changes

  • Corrected the name for saoid and suoid SAS parameters in BlobSignatureValues struct as per this
  • Updated type of BlockSize from int to int64 in UploadStreamOptions
  • CRC64 transactional hashes are now supplied with a uint64 rather than a []byte to conform with Golang's hash/crc64 package
  • Field XMSContentCRC64 has been renamed to ContentCRC64
  • The Lease* constant types and values in the blob and container packages have been moved to the lease package and their names fixed up to avoid stuttering.
  • Fields TransactionalContentCRC64 and TransactionalContentMD5 have been replaced by TransactionalValidation.
  • Fields SourceContentCRC64 and SourceContentMD5 have been replaced by SourceContentValidation.
  • Field TransactionalContentMD5 has been removed from type AppendBlockFromURLOptions.

Bugs Fixed

  • Corrected signing of User Delegation SAS. Fixes #19372 and #19454
  • Added formatting of start and expiry time in SetAccessPolicy. Fixes #18712
  • Uploading block blobs larger than 256MB can fail in some cases with error net/http: HTTP/1.x transport connection broken.
  • Blob name parameters are URL-encoded before constructing the complete blob URL.

Other Changes

  • Added some missing public surface area in the container and service packages.
  • The UploadStream() methods now use anonymous memory mapped files for buffers in order to reduce heap allocations/fragmentation.
    • The anonymous memory mapped files are typically backed by the page/swap file, multiple files are not actually created.

Don't miss a new azure-sdk-for-go release

NewReleases is sending notifications on new releases.