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 theazblob.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
andsuoid
SAS parameters inBlobSignatureValues
struct as per this - Updated type of
BlockSize
from int to int64 inUploadStreamOptions
- CRC64 transactional hashes are now supplied with a
uint64
rather than a[]byte
to conform with Golang'shash/crc64
package - Field
XMSContentCRC64
has been renamed toContentCRC64
- The
Lease*
constant types and values in theblob
andcontainer
packages have been moved to thelease
package and their names fixed up to avoid stuttering. - Fields
TransactionalContentCRC64
andTransactionalContentMD5
have been replaced byTransactionalValidation
. - Fields
SourceContentCRC64
andSourceContentMD5
have been replaced bySourceContentValidation
. - Field
TransactionalContentMD5
has been removed from typeAppendBlockFromURLOptions
.
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
andservice
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.