Changes

1.40.0 (2024-03-29)

Features

Bug Fixes

  • storage: Retry errors from last recv on uploads (#9616) (b6574aa)
  • storage: Update protobuf dep to v1.33.0 (30b038d)

Performance Improvements

  • storage: Remove protobuf's copy of data on unmarshalling (#9526) (81281c0)

1.39.1 (2024-03-11)

Bug Fixes

  • storage: Add object validation case and test (#9521) (386bef3)

1.39.0 (2024-02-29)

Features

  • storage: Make it possible to disable Content-Type sniffing (#9431) (0676670)

1.38.0 (2024-02-12)

Features

  • storage: Support auto-detection of access ID for external_account creds (#9208) (b958d44)
  • storage: Support custom hostname for VirtualHostedStyle SignedURLs (#9348) (7eec40e)
  • storage: Support universe domains (#9344) (29a7498)

Bug Fixes

  • storage: Fix v4 url signing for hosts that specify ports (#9347) (f127b46)

Documentation

  • storage: Indicate that gRPC is incompatible with universe domains (#9386) (e8bd85b)

1.37.0 (2024-01-24)

Features

Bug Fixes

1.36.0 (2023-12-14)

Features

Bug Fixes

  • storage: Do not inhibit the dead code elimination. (#8543) (ca2493f)
  • storage: Set flush and get_state to false on the last write in gRPC (#9013) (c1e9fe5)

1.35.1 (2023-11-09)

Bug Fixes

  • storage: Rename aux.go to auxiliary.go fixing windows build (ba23673)

1.35.0 (2023-11-09)

Features

  • storage: Change gRPC writes to use bi-directional streams (#8930) (3e23a36)

1.34.1 (2023-11-01)

Bug Fixes

  • storage: Bump google.golang.org/api to v0.149.0 (8d2ab9f)

1.34.0 (2023-10-31)

Features

  • storage/internal: Add match_glob field to ListObjectsRequest (#8618) (e9ae601)
  • storage/internal: Add terminal_storage_class fields to Autoclass message (57fc1a6)
  • storage/internal: Adds the RestoreObject operation (56ce871)
  • storage: Support autoclass v2.1 (#8721) (fe1e195)
  • storage: Support MatchGlob for gRPC (#8670) (3df0287), refs #7727

Bug Fixes

  • storage: Drop stream reference after closing it for gRPC writes (#8872) (525abde)
  • storage: Update golang.org/x/net to v0.17.0 (174da47)
  • storage: Update grpc-go to v1.56.3 (343cea8)
  • storage: Update grpc-go to v1.59.0 (81a97b0)

1.33.0 (2023-09-07)

Features

1.32.0 (2023-08-15)

Features

Bug Fixes

1.31.0 (2023-06-27)

Features

  • storage/internal: Add ctype=CORD for ChecksummedData.content (ca94e27)
  • storage: Add support for MatchGlob (#8097) (9426a5a), refs #7727 #7728
  • storage: Respect WithEndpoint for SignedURLs and PostPolicy (#8113) (f918f23)
  • storage: Update all direct dependencies (b340d03)

Bug Fixes

Documentation

  • storage/internal: Clarifications about behavior of DeleteObject RPC (3f1ed9c)
  • storage/internal: Clarified the behavior of supplying bucket.name field in CreateBucket to reflect actual implementation (ebae64d)
  • storage/internal: Revert ChecksummedData message definition not to specify ctype=CORD, because it would be a breaking change. (ef61e47)
  • storage/internal: Update routing annotations for CancelResumableWriteRequest and QueryWriteStatusRequest (4900851)
  • storage/internal: Updated ChecksummedData message definition to specify ctype=CORD, and removed incorrect earlier attempt that set that annotation in the ReadObjectResponse message definition (ef61e47)
  • storage: WithXMLReads should mention XML instead of JSON API (#7881) (36f56c8)

1.30.1 (2023-03-21)

Bug Fixes

  • storage: Retract versions with Copier bug (#7583) (9c10b6f)
    • Versions v1.25.0-v1.27.0 are retracted due to #6857.
  • storage: SignedURL v4 allows headers with colons in value (#7603) (6b50f9b)

1.30.0 (2023-03-15)

Features

  • storage/internal: Update routing annotation for CreateBucketRequest docs: Add support for end-to-end checksumming in the gRPC WriteObject flow feat!: BREAKING CHANGE - renaming Notification to NotificationConfig (2fef56f)
  • storage: Json downloads (#7158) (574a86c)
  • storage: Update iam and longrunning deps (91a1f78)

Bug Fixes

  • storage: Specify credentials with STORAGE_EMULATOR_HOST (#7271) (940ae15)

1.29.0 (2023-01-19)

Features

  • storage: Add ComponentCount as part of ObjectAttrs (#7230) (a19bca6)
  • storage: Add REST client (06a54a1)

Documentation

  • storage/internal: Corrected typos and spellings (7357077)

1.28.1 (2022-12-02)

Bug Fixes

  • storage: downgrade some dependencies (7540152)

1.28.0 (2022-11-03)

Features

  • storage/internal: Add routing annotations (ce3f945)
  • storage: Add Autoclass support (#6828) (f7c7f41)

Bug Fixes

Documentation

  • storage: Update broken links for SignURL and PostPolicy (#6779) (776138b)

1.27.0 (2022-09-22)

Features

  • storage: Find GoogleAccessID when using impersonated creds (#6591) (a2d16a7)

1.26.0 (2022-08-29)

Features

Bug Fixes

  • storage: allow to use age=0 in OLM conditions (#6204) (c85704f)

1.25.0 (2022-08-11)

Features

  • storage/internal: Add routing annotations (8a8ba85)
  • storage: refactor to use transport-agnostic interface (#6465) (d03c3e1)

1.24.0 (2022-07-20)

Features

  • storage: add Custom Placement Config Dual Region Support (#6294) (5a8c607)

1.23.0 (2022-06-23)

Features

  • storage: add support for OLM Prefix/Suffix (#5929) (ec21d10)
  • storage: support AbortIncompleteMultipartUpload LifecycleAction (#5812) (fdec929), refs #5795

Bug Fixes

  • storage: allow for Age *int64 type and int64 type (#6230) (cc7acb8)

1.22.1 (2022-05-19)

Bug Fixes

1.22.0 (2022-03-31)

Features

  • storage: allow specifying includeTrailingDelimiter (#5617) (a34503b)
  • storage: set versionClient to module version (55f0d92)

Bug Fixes

  • storage: respect STORAGE_EMULATOR_HOST in signedURL (#5673) (1c249ae)

1.21.0 (2022-02-17)

Features

1.20.0 (2022-02-04)

Features

  • storage/internal: Update definition of RewriteObjectRequest to bring to parity with JSON API support (#5447) (7d175ef)

1.19.0 (2022-01-25)

Features

  • storage: add fully configurable and idempotency-aware retry strategy (#5384, #5185, #5170, #5223, #5221, #5193, #5159, #5165, #5166, #5210, #5172, #5314)
    • This release contains changes to fully align this library's retry strategy with best practices as described in the Cloud Storage docs.
    • The library will now retry only idempotent operations by default. This means that for certain operations, including object upload, compose, rewrite, update, and delete, requests will not be retried by default unless idempotency conditions for the request have been met.
    • The library now has methods to configure aspects of retry policy for API calls, including which errors are retried, the timing of the exponential backoff, and how idempotency is taken into account.
    • If you wish to re-enable retries for a non-idempotent request, use the RetryAlways policy.
    • For full details on how to configure retries, see the package docs and the Cloud Storage docs
  • storage: GenerateSignedPostPolicyV4 can use existing creds to authenticate (#5105) (46489f4)
  • storage: post policy can be signed with a fn that takes raw bytes (#5079) (25d1278)
  • storage: add rpo (turbo replication) support (#5003) (3bd5995)

Bug Fixes

1.18.2 (2021-10-18)

Bug Fixes

1.18.1 (2021-10-14)

Bug Fixes

  • storage: don't assume auth from a client option (#4982) (e17334d)

1.18.0 (2021-10-11)

Features

  • storage: returned wrapped error for timeouts (#4802) (0e102a3), refs #4197
  • storage: SignedUrl can use existing creds to authenticate (#4604) (b824c89)

Bug Fixes

  • storage: update PAP to use inherited instead of unspecified (#4909) (dac26b1)

1.17.0 (2021-09-28)

Features

  • storage: add projectNumber field to bucketAttrs. (#4805) (07343af)

Bug Fixes

1.16.1 (2021-08-30)

Bug Fixes

  • storage/internal: Update encryption_key fields to “bytes” type. fix: Improve date/times and field name clarity in lifecycle conditions. (a52baa4)
  • storage: accept emulator env var without scheme (#4616) (5f8cbb9)
  • storage: preserve supplied endpoint's scheme (#4609) (ee2756f)
  • storage: remove unnecessary variable (#4608) (27fc784)
  • storage: retry LockRetentionPolicy (#4439) (09879ea), refs #4437
  • storage: revise Reader to send XML preconditions (#4479) (e36b29a), refs #4470

1.16.0 (2021-06-28)

Features

Bug Fixes

1.15.0 (2021-04-21)

Features

Bug Fixes

v1.14.0

  • Updates to various dependencies.

1.13.0 (2021-02-03)

Features

  • storage: add missing StorageClass in BucketAttrsToUpdate (#3038) (2fa1b72)
  • storage: add projection parameter for BucketHandle.Objects() (#3549) (9b9c3dc)

Bug Fixes

v1.12.0

  • V4 signed URL fixes:
    • Fix encoding of spaces in query parameters.
    • Add fields that were missing from PostPolicyV4 policy conditions.
  • Fix Query to correctly list prefixes as well as objects when SetAttrSelection is used.

v1.11.0

  • Add support for CustomTime and NoncurrentTime object lifecycle management features.

v1.10.0

  • Bump dependency on google.golang.org/api 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.

v1.9.0

  • Add retry for transient network errors on most operations (with the exception of writes).
  • Bump dependency for google.golang.org/api 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.

v1.8.0

  • Add support for V4 signed post policies.

v1.7.0

  • 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.

v1.6.0

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

v1.5.0

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

v1.4.0

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

v1.3.0

  • Use storage.googleapis.com/storage/v1 by default for GCS requests instead of www.googleapis.com/storage/v1.

v1.2.1

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

v1.2.0

v1.1.2

  • Fix memory leak in BucketIterator and ObjectIterator.

v1.1.1

  • Send BucketPolicyOnly even when it's disabled.

v1.1.0

  • 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.

v1.0.0

This is the first tag to carve out storage as its own module. See: https://github.com/golang/go/wiki/Modules#is-it-possible-to-add-a-module-to-a-multi-module-repository.