• Bump dependency on to capture changes to retry logic which will make retries on writes more resilient.
  • Improve documentation for Writer.ChunkSize.
  • Fix a bug in lifecycle to allow callers to clear lifecycle rules on a bucket.


  • Add retry for transient network errors on most operations (with the exception of writes).
  • Bump dependency for to capture a change in the default HTTP transport which will improve performance for reads under heavy load.
  • Add CRC32C checksum validation option to Composer.


  • Add support for V4 signed post policies.


  • V4 signed URL support:
    • Add support for bucket-bound domains and virtual hosted style URLs.
    • Add support for query parameters in the signature.
    • Fix text encoding to align with standards.
  • Add the object name to query parameters for write calls.
  • Fix retry behavior when reading files with Content-Encoding gzip.
  • Fix response header in reader.
  • New code examples:
    • Error handling for ObjectHandle preconditions.
    • Existence checks for buckets and objects.


  • Updated option handling:
    • Don't drop custom scopes (#1756)
    • Don't drop port in provided endpoint (#1737)


  • Honor WithEndpoint client option for reads as well as writes.
  • Add archive storage class to docs.
  • Make fixes to storage benchwrapper.


  • When listing objects in a bucket, allow callers to specify which attributes are queried. This allows for performance optimization.


  • Use by default for GCS requests instead of


  • Fixed a bug where UniformBucketLevelAccess and BucketPolicyOnly were not being sent in all cases.



  • Fix memory leak in BucketIterator and ObjectIterator.


  • Send BucketPolicyOnly even when it's disabled.


  • Performance improvements for ObjectIterator and BucketIterator.
  • Fix Bucket.ObjectIterator size calculation checks.
  • Added HMACKeyOptions to all the methods which allows for options such as UserProject to be set per invocation and optionally be used.


This is the first tag to carve out storage as its own module. See: