Cloud Storage release notes

This page documents production updates to Cloud Storage. You can periodically check this page for announcements about new or updated features, bug fixes, known issues, and deprecated functionality.

You can see the latest product updates for all of Google Cloud on the Google Cloud page, browse and filter all release notes in the Google Cloud console, or programmatically access release notes in BigQuery.

To get the latest product updates delivered to you, add the URL of this page to your feed reader, or add the feed URL directly.

August 17, 2026

Feature

If you delete your project, buckets that have soft delete enabled are now retained for a limited amount of time before being permanently deleted. If you restore a deleted project during this time period, these buckets are restored to the state that they were in when the project was deleted.

For more information about soft delete and the restoration window, see Soft delete.

July 20, 2026

Feature

Object Lifecycle Management conditions for sizeAboveBytes and sizeBelowBytes let you define a minimum and maximum size threshold for lifecycle actions.

June 17, 2026

Feature

When you create composite objects, you can delete the temporary source objects as part of the composition process.

May 28, 2026

Breaking

As of August 26, 2026, in buckets with hierarchical namespace enabled, the Object Lifecycle Management Delete action will delete empty folders when the empty folder meets all of the conditions in the lifecycle rule.

April 29, 2026

Feature

You can manage object contexts in the Google Cloud Console. To learn more, see Use object contexts.

April 27, 2026

Feature

Cloud Storage now offers support for AI zones. To learn more, see AI zones.

April 20, 2026

Feature

Cloud Storage Model Context Protocol (MCP) server is generally available. You can connect to Cloud Storage from AI applications using the server. It lets AI applications and agents create buckets, retrieve object metadata, read and write object data, and list buckets and objects. For more information, see Use the Cloud Storage MCP server and Cloud Storage MCP reference.

April 08, 2026

Feature

You can delete up to 1,000 objects in a single request by using the Cloud Storage multi-object delete XML API. If you use Amazon S3-compatible tools or libraries, you can point your request to the Cloud Storage endpoint to use this feature with your existing workflows. For more information, see Delete objects and Delete multiple objects.

April 06, 2026

Feature

You can now use Storage batch operations to update object contexts for multiple objects in a single job. You can clear all existing contexts from the specified objects, remove contexts with specific keys, or update and insert new context key-value pairs. For more information, see Create and manage batch operation jobs.

Feature

Object contexts are now generally available. You can attach key-value pairs to your objects to categorize, track, and search your data. Object contexts are preserved by default during copy, rewrite, and compose operations. You can help control this behavior by using the dropContextGroups JSON API parameter or by providing new contexts in the request.

April 02, 2026

Feature

You can configure which encryption types are allowed or prohibited for creating new objects in a bucket. For more information, see Enforce or restrict the encryption types for a bucket.

March 31, 2026

Feature

You can now use Storage Insights datasets to help manage your data security and compliance. The ability to identify publicly accessible objects is now generally available. Additionally, new fields in bucket and object metadata schemas, such as encryption, retentionPeriod, encryptionType, and retentionExpirationTime, help you audit encryption configurations and monitor data retention policies. For more information, see Storage Insights datasets and Dataset tables and schemas.

March 24, 2026

Announcement

Anywhere Cache has been renamed to Rapid Cache.

March 12, 2026

Change

Object uploads that use customer-managed encryption keys (CMEK) now fail if the Cloud Storage service agent lacks the necessary IAM role to decrypt the object. For steps to grant the required role, see Assign a Cloud KMS key to a service agent.

March 10, 2026

Feature

Rapid Bucket is now generally available. Rapid Bucket lets you store objects in the Rapid storage class by defining a zone as a bucket's location. This architecture optimizes data access and I/O performance between your storage and compute resources. Rapid Bucket is most suitable for data-intensive workloads like AI/ML and high-scale data analytics.

For more information, see Rapid Bucket and Create zonal buckets.

March 06, 2026

Feature

You can now identify publicly accessible objects (preview) by using Storage Insights datasets. The object metadata schema includes fields that provide the public access status of your objects, which lets you understand, organize, and manage publicly accessible objects at scale.

March 05, 2026

Feature

You can now analyze object data and metadata from your Storage Insights datasets by using BigQuery ObjectRef functions. The ref column in the dataset contains a reference to the Cloud Storage object which you can use with ObjectRef functions to analyze object content. For example, you can build queries to help detect sensitive information in documents or to generate image descriptions. For more information, see Analyze object data and metadata using BigQuery.

January 30, 2026

Announcement

Object change notification is deprecated on January 30, 2026. To generate notifications for changes to objects, use Pub/Sub notifications for Cloud Storage instead.

January 28, 2026

Feature

Previously, when listing buckets by using the client libraries, JSON API, or RPC API, the request returned an error if some buckets couldn't be reached because a location was temporarily unavailable. You can now use a partial success option to return a list of buckets that are available, as well as the names of any buckets that can't be reached.

January 21, 2026

Feature

Bucket relocation with write downtime now supports completed multipart uploads. If a multipart upload is started before relocation begins and is completed before the final synchronization step, the objects are successfully relocated. In-progress multipart uploads continue to block the final synchronization step until they are either completed or cancelled. For more information, see Bucket relocation overview.

January 20, 2026

Feature

Cloud Storage now offers support in the Thailand, Bangkok (asia-southeast3) region. To learn more about supported locations, see Cloud Storage bucket locations.

January 16, 2026

Feature

You can now use dry run mode to simulate storage batch operations jobs without modifying or deleting data. Dry run helps you to validate your job configuration before running the actual operation.

To learn how to configure a dry run job, see Create and manage batch operations jobs.

January 15, 2026

Feature

When you bulk restore soft-deleted objects, you can restore objects that were live at a specific time. You can also choose the objects to restore based on the object creation time.

December 22, 2025

Libraries

Java

2.61.0 (2025-12-15)

Features
  • Add support for partial success in ListBuckets for json (#3415) (37ef7f3)
  • Modifying getters and setters to be more inline with s3 interface. (0a8bbea)
  • mpu: Breaking change modifying getters and setters in MPU to be more inline with s3 interface. (66d54e2)
Bug Fixes
  • deps: Update the Java code generator (gapic-generator-java) to 2.64.1 (511ff51)
Dependencies
  • Update actions/checkout action to v6 (d934ad9)
  • Update actions/checkout action to v6 (d99dd53)
  • Update dependency com.google.apis:google-api-services-storage to v1-rev20251118-2.0.0 (f48fa3f)
  • Update dependency com.google.apis:google-api-services-storage to v1-rev20251118-2.0.0 (#3427) (4612e72)
  • Update dependency com.google.cloud:sdk-platform-java-config to v3.54.2 (90a71be)
  • Update dependency com.google.cloud:sdk-platform-java-config to v3.54.2 (#3424) (c989dc3)
  • Update gcr.io/cloud-devrel-public-resources/storage-testbench docker tag to v0.59.0 (f5d8337)
  • Update gcr.io/cloud-devrel-public-resources/storage-testbench docker tag to v0.59.0 (5480ce3)
  • Update googleapis/sdk-platform-java action to v2.64.2 (23494d7)
  • Update googleapis/sdk-platform-java action to v2.64.2 (#3425) (fad2d7a)

Java

2.62.0-rc1 (2025-12-17)

Features
  • breaking behavior rewrite Storage.blobAppendableUpload to be non-blocking and have improved throughput (#3231) (7bd73d3)
  • add @BetaApi Storage#blobAppendableUpload for gRPC Transport (62b6248)
  • add @BetaApi Storage#blobAppendableUpload for gRPC Transport (c3a0aaa)
  • add @BetaApi Storage#blobAppendableUpload for gRPC Transport (fac7839)
  • add @BetaApi Storage#blobAppendableUpload for gRPC Transport (8332e1b)
  • add @BetaApi Storage#blobAppendableUpload for gRPC Transport (e4688a0)
  • add @BetaApi Storage#blobAppendableUpload for gRPC Transport (b426e7d)
  • add @BetaApi Storage#blobAppendableUpload for gRPC Transport (c601cca)
  • add @BetaApi Storage#blobAppendableUpload for gRPC Transport (c58fe1f)
  • add @BetaApi Storage#blobAppendableUpload for gRPC Transport (616256a)
  • add @BetaApi Storage#blobAppendableUpload for gRPC Transport (ba3af58)
  • add @BetaApi Storage#blobAppendableUpload for gRPC Transport (e12d2ad)
  • add @BetaApi Storage#blobAppendableUpload for gRPC Transport (d6044a1)
  • add @BetaApi Storage#blobAppendableUpload for gRPC Transport (eebc6c6)
  • add @BetaApi Storage#blobAppendableUpload for gRPC Transport (12507e2)
  • add @BetaApi Storage#blobAppendableUpload for gRPC Transport (58557a0)
  • add @BetaApi Storage#blobAppendableUpload for gRPC Transport (c109fdb)
  • add @BetaApi Storage#blobAppendableUpload for gRPC Transport (d98ecc7)
  • add @BetaApi Storage#blobAppendableUpload for gRPC Transport (6858a9d)
  • add @BetaApi Storage#blobAppendableUpload for gRPC Transport (bb7e1b4)
  • add @BetaApi Storage#blobAppendableUpload for gRPC Transport (e89ae27)
  • add @BetaApi Storage#blobAppendableUpload for gRPC Transport (8beaa03)
  • add @BetaApi Storage#blobAppendableUpload for gRPC Transport (ff8fd8f)
  • add @BetaApi Storage#blobAppendableUpload for gRPC Transport (944e0bc)
  • add @BetaApi Storage#blobAppendableUpload for gRPC Transport (eb8c5c8)
  • add @BetaApi Storage#blobAppendableUpload for gRPC Transport (50e4589)
  • add @BetaApi Storage#blobAppendableUpload for gRPC Transport (a751971)
  • add @BetaApi Storage#blobAppendableUpload for gRPC Transport (befff3b)
  • add @BetaApi Storage#blobAppendableUpload for gRPC Transport (ac950ad)
  • add @BetaApi Storage#blobAppendableUpload for gRPC Transport (f381795)
  • add @BetaApi Storage#blobAppendableUpload for gRPC Transport (84ffb6d)
  • add @BetaApi Storage#blobAppendableUpload for gRPC Transport (b95e51d)
  • add @BetaApi Storage#blobAppendableUpload for gRPC Transport (03aa3e7)
  • add @BetaApi Storage#blobAppendableUpload for gRPC Transport (23f9a79)
  • add @BetaApi Storage#blobAppendableUpload for gRPC Transport (e2a3e3c)
  • add @BetaApi Storage#blobAppendableUpload for gRPC Transport (bee4308)
  • add @BetaApi Storage#blobAppendableUpload for gRPC Transport (28f2759)
  • add @BetaApi Storage#blobAppendableUpload for gRPC Transport (775ad24)
  • add @BetaApi Storage#blobAppendableUpload for gRPC Transport (f29d825)
  • add @BetaApi Storage#blobAppendableUpload for gRPC Transport (2e8a0ee)
  • add @BetaApi Storage#blobAppendableUpload for gRPC Transport (5c2cf19)
  • add @BetaApi Storage#blobAppendableUpload for gRPC Transport (2431ee1)
  • add @BetaApi Storage#blobAppendableUpload for gRPC Transport (aeb621a)
  • add @BetaApi Storage#blobAppendableUpload for gRPC Transport (3d2520d)
  • add @BetaApi Storage#blobAppendableUpload for gRPC Transport (3e38109)
  • add @BetaApi Storage#blobAppendableUpload for gRPC Transport (8453281)
  • add @BetaApi Storage#blobAppendableUpload for gRPC Transport (4170803)
  • add @BetaApi Storage#blobAppendableUpload for gRPC Transport (f8e54b5)
  • add @BetaApi Storage#blobAppendableUpload for gRPC Transport (85049b9)
  • add @BetaApi Storage#blobAppendableUpload for gRPC Transport (2a92e35)
  • add @BetaApi Storage#blobAppendableUpload for gRPC Transport (3b195fe)
  • add @BetaApi Storage#blobAppendableUpload for gRPC Transport (ae31163)
  • add @BetaApi Storage#blobAppendableUpload for gRPC Transport (b1499d6)
  • add @BetaApi Storage#blobAppendableUpload for gRPC Transport (1085216)
  • add @BetaApi Storage#blobAppendableUpload for gRPC Transport (3616097)
  • add @BetaApi Storage#blobAppendableUpload for gRPC Transport (6a80994)
  • add @BetaApi Storage#blobAppendableUpload for gRPC Transport (69d01d4)
  • add @BetaApi Storage#blobAppendableUpload for gRPC Transport (fa0df98)
  • add @BetaApi Storage#blobAppendableUpload for gRPC Transport (3eec2e3)
  • add @BetaApi Storage#blobAppendableUpload for gRPC Transport (1bf497e)
  • add @BetaApi Storage#blobAppendableUpload for gRPC Transport (bc7a931)
  • add @BetaApi Storage#blobAppendableUpload for gRPC Transport (c6f5b57)
  • add @BetaApi Storage#blobAppendableUpload for gRPC Transport (8d4d7a3)
  • add @BetaApi Storage#blobAppendableUpload for gRPC Transport (affb14f)
  • add @BetaApi Storage#blobAppendableUpload for gRPC Transport (09c426b)
  • add @BetaApi Storage#blobAppendableUpload for gRPC Transport (af52279)
  • add @BetaApi Storage#blobAppendableUpload for gRPC Transport (72491e7)
  • add @BetaApi Storage#blobAppendableUpload for gRPC Transport (2968790)
  • add @BetaApi Storage#blobAppendableUpload for gRPC Transport (a4d919e)
  • add @BetaApi Storage#blobAppendableUpload for gRPC Transport (f437c0a)
  • add @BetaApi Storage#blobAppendableUpload for gRPC Transport (ba70fd8)
  • add @BetaApi Storage#blobAppendableUpload for gRPC Transport (95d46a5)
  • add @BetaApi Storage#blobAppendableUpload for gRPC Transport (413d65f)
  • add @BetaApi Storage#blobAppendableUpload for gRPC Transport (52639da)
  • add @BetaApi Storage#blobAppendableUpload for gRPC Transport (961f3cb)
  • add @BetaApi Storage#blobAppendableUpload for gRPC Transport (98dbb02)
  • add @BetaApi Storage#blobAppendableUpload for gRPC Transport (cbc22f2)
  • add @BetaApi Storage#blobAppendableUpload for gRPC Transport (f7c37f5)
  • add @BetaApi Storage#blobAppendableUpload for gRPC Transport (a7a8945)
  • add @BetaApi Storage#blobAppendableUpload for gRPC Transport (26db9e3)
  • add @BetaApi Storage#blobAppendableUpload for gRPC Transport (3ca4123)
  • add @BetaApi Storage#blobAppendableUpload for gRPC Transport (8553cb9)
  • add @BetaApi Storage#blobAppendableUpload for gRPC Transport (758756f)
  • add @BetaApi Storage#blobAppendableUpload for gRPC Transport (065d249)
  • add @BetaApi Storage#blobAppendableUpload for gRPC Transport (61824e6)
  • add @BetaApi Storage#blobAppendableUpload for gRPC Transport (67482f7)
  • add @BetaApi Storage#blobAppendableUpload for gRPC Transport (d540a83)
  • add @BetaApi Storage#blobAppendableUpload for gRPC Transport (8e516e6)
  • add @BetaApi Storage#blobAppendableUpload for gRPC Transport (0a2fac5)
  • add @BetaApi Storage#blobAppendableUpload for gRPC Transport (35c2fbf)
  • add @BetaApi Storage#blobAppendableUpload for gRPC Transport (e5e1107)
  • add @BetaApi Storage#blobAppendableUpload for gRPC Transport (79bea2c)
  • add @BetaApi Storage#blobAppendableUpload for gRPC Transport (9416a8f)
  • add @BetaApi Storage#blobAppendableUpload for gRPC Transport (411615d)
  • add @BetaApi Storage#blobAppendableUpload for gRPC Transport (51af43e)
  • add @BetaApi Storage#blobAppendableUpload for gRPC Transport (0bfb9ff)
  • add @BetaApi Storage#blobAppendableUpload for gRPC Transport (c648d38)
  • add @BetaApi Storage#blobAppendableUpload for gRPC Transport (b8dda33)
  • add @BetaApi Storage#blobAppendableUpload for gRPC Transport (264683e)
  • add @BetaApi Storage#blobAppendableUpload for gRPC Transport (c653bb6)
  • add @BetaApi Storage#blobAppendableUpload for gRPC Transport (24be97d)
  • add @BetaApi Storage#blobAppendableUpload for gRPC Transport (a0535c5)
  • add @BetaApi Storage#blobAppendableUpload for gRPC Transport (be3be3f)
  • add @BetaApi Storage#blobAppendableUpload for gRPC Transport (ec59078)
  • add @BetaApi Storage#blobReadSession for gRPC Transport (62b6248)
  • add @BetaApi Storage#blobReadSession for gRPC Transport (c3a0aaa)
  • add @BetaApi Storage#blobReadSession for gRPC Transport (fac7839)
  • add @BetaApi Storage#blobReadSession for gRPC Transport (8332e1b)
  • add @BetaApi Storage#blobReadSession for gRPC Transport (e4688a0)
  • add @BetaApi Storage#blobReadSession for gRPC Transport (b426e7d)
  • add @BetaApi Storage#blobReadSession for gRPC Transport (c601cca)
  • add @BetaApi Storage#blobReadSession for gRPC Transport (c58fe1f)
  • add @BetaApi Storage#blobReadSession for gRPC Transport (616256a)
  • add @BetaApi Storage#blobReadSession for gRPC Transport (ba3af58)
  • add @BetaApi Storage#blobReadSession for gRPC Transport (e12d2ad)
  • add @BetaApi Storage#blobReadSession for gRPC Transport (d6044a1)
  • add @BetaApi Storage#blobReadSession for gRPC Transport (eebc6c6)
  • add @BetaApi Storage#blobReadSession for gRPC Transport (12507e2)
  • add @BetaApi Storage#blobReadSession for gRPC Transport (58557a0)
  • add @BetaApi Storage#blobReadSession for gRPC Transport (c109fdb)
  • add @BetaApi Storage#blobReadSession for gRPC Transport (d98ecc7)
  • add @BetaApi Storage#blobReadSession for gRPC Transport (6858a9d)
  • add @BetaApi Storage#blobReadSession for gRPC Transport (bb7e1b4)
  • add @BetaApi Storage#blobReadSession for gRPC Transport (e89ae27)
  • add @BetaApi Storage#blobReadSession for gRPC Transport (8beaa03)
  • add @BetaApi Storage#blobReadSession for gRPC Transport (ff8fd8f)
  • add @BetaApi Storage#blobReadSession for gRPC Transport (944e0bc)
  • add @BetaApi Storage#blobReadSession for gRPC Transport (eb8c5c8)
  • add @BetaApi Storage#blobReadSession for gRPC Transport (50e4589)
  • add @BetaApi Storage#blobReadSession for gRPC Transport (a751971)
  • add @BetaApi Storage#blobReadSession for gRPC Transport (befff3b)
  • add @BetaApi Storage#blobReadSession for gRPC Transport (ac950ad)
  • add @BetaApi Storage#blobReadSession for gRPC Transport (f381795)
  • add @BetaApi Storage#blobReadSession for gRPC Transport (84ffb6d)
  • add @BetaApi Storage#blobReadSession for gRPC Transport (b95e51d)
  • add @BetaApi Storage#blobReadSession for gRPC Transport (03aa3e7)
  • add @BetaApi Storage#blobReadSession for gRPC Transport (23f9a79)
  • add @BetaApi Storage#blobReadSession for gRPC Transport (e2a3e3c)
  • add @BetaApi Storage#blobReadSession for gRPC Transport (bee4308)
  • add @BetaApi Storage#blobReadSession for gRPC Transport (28f2759)
  • add @BetaApi Storage#blobReadSession for gRPC Transport (775ad24)
  • add @BetaApi Storage#blobReadSession for gRPC Transport (f29d825)
  • add @BetaApi Storage#blobReadSession for gRPC Transport (2e8a0ee)
  • add @BetaApi Storage#blobReadSession for gRPC Transport (5c2cf19)
  • add @BetaApi Storage#blobReadSession for gRPC Transport (2431ee1)
  • add @BetaApi Storage#blobReadSession for gRPC Transport (aeb621a)
  • add @BetaApi Storage#blobReadSession for gRPC Transport (3d2520d)
  • add @BetaApi Storage#blobReadSession for gRPC Transport (3e38109)
  • add @BetaApi Storage#blobReadSession for gRPC Transport (8453281)
  • add @BetaApi Storage#blobReadSession for gRPC Transport (4170803)
  • add @BetaApi Storage#blobReadSession for gRPC Transport (f8e54b5)
  • add @BetaApi Storage#blobReadSession for gRPC Transport (85049b9)
  • add @BetaApi Storage#blobReadSession for gRPC Transport (2a92e35)
  • add @BetaApi Storage#blobReadSession for gRPC Transport (3b195fe)
  • add @BetaApi Storage#blobReadSession for gRPC Transport (ae31163)
  • add @BetaApi Storage#blobReadSession for gRPC Transport (b1499d6)
  • add @BetaApi Storage#blobReadSession for gRPC Transport (1085216)
  • add @BetaApi Storage#blobReadSession for gRPC Transport (3616097)
  • add @BetaApi Storage#blobReadSession for gRPC Transport (6a80994)
  • add @BetaApi Storage#blobReadSession for gRPC Transport (69d01d4)
  • add @BetaApi Storage#blobReadSession for gRPC Transport (fa0df98)
  • add @BetaApi Storage#blobReadSession for gRPC Transport (3eec2e3)
  • add @BetaApi Storage#blobReadSession for gRPC Transport (1bf497e)
  • add @BetaApi Storage#blobReadSession for gRPC Transport (bc7a931)
  • add @BetaApi Storage#blobReadSession for gRPC Transport (c6f5b57)
  • add @BetaApi Storage#blobReadSession for gRPC Transport (8d4d7a3)
  • add @BetaApi Storage#blobReadSession for gRPC Transport (affb14f)
  • add @BetaApi Storage#blobReadSession for gRPC Transport (09c426b)
  • add @BetaApi Storage#blobReadSession for gRPC Transport (af52279)
  • add @BetaApi Storage#blobReadSession for gRPC Transport (72491e7)
  • add @BetaApi Storage#blobReadSession for gRPC Transport (2968790)
  • add @BetaApi Storage#blobReadSession for gRPC Transport (a4d919e)
  • add @BetaApi Storage#blobReadSession for gRPC Transport (f437c0a)
  • add @BetaApi Storage#blobReadSession for gRPC Transport (ba70fd8)
  • add @BetaApi Storage#blobReadSession for gRPC Transport (95d46a5)
  • add @BetaApi Storage#blobReadSession for gRPC Transport (413d65f)
  • add @BetaApi Storage#blobReadSession for gRPC Transport (52639da)
  • add @BetaApi Storage#blobReadSession for gRPC Transport (961f3cb)
  • add @BetaApi Storage#blobReadSession for gRPC Transport (98dbb02)
  • add @BetaApi Storage#blobReadSession for gRPC Transport (cbc22f2)
  • add @BetaApi Storage#blobReadSession for gRPC Transport (f7c37f5)
  • add @BetaApi Storage#blobReadSession for gRPC Transport (a7a8945)
  • add @BetaApi Storage#blobReadSession for gRPC Transport (26db9e3)
  • add @BetaApi Storage#blobReadSession for gRPC Transport (3ca4123)
  • add @BetaApi Storage#blobReadSession for gRPC Transport (8553cb9)
  • add @BetaApi Storage#blobReadSession for gRPC Transport (758756f)
  • add @BetaApi Storage#blobReadSession for gRPC Transport (065d249)
  • add @BetaApi Storage#blobReadSession for gRPC Transport (61824e6)
  • add @BetaApi Storage#blobReadSession for gRPC Transport (67482f7)
  • add @BetaApi Storage#blobReadSession for gRPC Transport (d540a83)
  • add @BetaApi Storage#blobReadSession for gRPC Transport (8e516e6)
  • add @BetaApi Storage#blobReadSession for gRPC Transport (0a2fac5)
  • add @BetaApi Storage#blobReadSession for gRPC Transport (35c2fbf)
  • add @BetaApi Storage#blobReadSession for gRPC Transport (e5e1107)
  • add @BetaApi Storage#blobReadSession for gRPC Transport (79bea2c)
  • add @BetaApi Storage#blobReadSession for gRPC Transport (9416a8f)
  • add @BetaApi Storage#blobReadSession for gRPC Transport (411615d)
  • add @BetaApi Storage#blobReadSession for gRPC Transport (51af43e)
  • add @BetaApi Storage#blobReadSession for gRPC Transport (0bfb9ff)
  • add @BetaApi Storage#blobReadSession for gRPC Transport (c648d38)
  • add @BetaApi Storage#blobReadSession for gRPC Transport (b8dda33)
  • add @BetaApi Storage#blobReadSession for gRPC Transport (264683e)
  • add @BetaApi Storage#blobReadSession for gRPC Transport (c653bb6)
  • add @BetaApi Storage#blobReadSession for gRPC Transport (24be97d)
  • add @BetaApi Storage#blobReadSession for gRPC Transport (a0535c5)
  • add @BetaApi Storage#blobReadSession for gRPC Transport (be3be3f)
  • add @BetaApi Storage#blobReadSession for gRPC Transport (ec59078)
  • Add Anywhere cache control APIs (81c8c61)
  • Add Anywhere cache control APIs (81c8c61)
  • add AppendableUploadWriteableByteChannel#flush() (#3261) (950c56f)
  • add BlobInfo.ObjectContexts (#3259) (485aefd)
  • add BucketInfo.IpFilter (#3177) (14a91ec)
  • add default end-to-end checksumming for JournalingBlobWriteSessionConfig #3180 (fa0f6a0)
  • add default end-to-end crc32c checksumming for several upload methods via grpc transport #3176 (fa0f6a0)
  • add MinFlushSizeFlushPolicy#withMaxPendingBytes(long) (#3231) (7bd73d3)
  • add MoveObject RPC (34b8ac4)
  • add new Options to allow per method header values (#2941) (297802d)
  • add new preview Bucket encryption policy configuration (#3204) (7b250dd)
  • add new Storage#moveBlob method to atomically rename an object (#2882) (c49fd08)
  • add per-message checksum validation for gRPC ReadObject operations (#3336) (6eef1b0)
  • add preview MultipartUploadClient#abortMultipartUpload https://github.com/googleapis/java-storage/pull/3361 (160fa9a)
  • add preview MultipartUploadClient#completeMultipartUpload https://github.com/googleapis/java-storage/pull/3372 (160fa9a)
  • add preview MultipartUploadClient#createMultipartUpload https://github.com/googleapis/java-storage/pull/3356 (160fa9a)
  • add preview MultipartUploadClient#listParts https://github.com/googleapis/java-storage/pull/3359 (160fa9a)
  • add preview MultipartUploadClient#uploadPart https://github.com/googleapis/java-storage/pull/3375 (160fa9a)
  • add preview MultipartUploadSettings (160fa9a)
  • add Storage.BlobListOption#includeTrailingDelimiter (#3038) (0b7a0df)
  • add StorageChannelUtils to provide helper methods to perform blocking read/write to/from non-blocking channels (#3231) (7bd73d3)
  • expose BucketInfo.getProject as a BigInteger (#3119) (64bbb60), closes #3023
  • implement improved retry context information (62b6248)
  • implement improved retry context information (c3a0aaa)
  • implement improved retry context information (fac7839)
  • implement improved retry context information (8332e1b)
  • implement improved retry context information (e4688a0)
  • implement improved retry context information (b426e7d)
  • implement improved retry context information (c601cca)
  • implement improved retry context information (c58fe1f)
  • implement improved retry context information (616256a)
  • implement improved retry context information (ba3af58)
  • implement improved retry context information (e12d2ad)
  • implement improved retry context information (d6044a1)
  • implement improved retry context information (eebc6c6)
  • implement improved retry context information (12507e2)
  • implement improved retry context information (58557a0)
  • implement improved retry context information (c109fdb)
  • implement improved retry context information (d98ecc7)
  • implement improved retry context information (6858a9d)
  • implement improved retry context information (bb7e1b4)
  • implement improved retry context information (e89ae27)
  • implement improved retry context information (8beaa03)
  • implement improved retry context information (ff8fd8f)
  • implement improved retry context information (944e0bc)
  • implement improved retry context information (eb8c5c8)
  • implement improved retry context information (50e4589)
  • implement improved retry context information (a751971)
  • implement improved retry context information (befff3b)
  • implement improved retry context information (ac950ad)
  • implement improved retry context information (f381795)
  • implement improved retry context information (84ffb6d)
  • implement improved retry context information (b95e51d)
  • implement improved retry context information (03aa3e7)
  • implement improved retry context information (23f9a79)
  • implement improved retry context information (e2a3e3c)
  • implement improved retry context information (bee4308)
  • implement improved retry context information (28f2759)
  • implement improved retry context information (775ad24)
  • implement improved retry context information (f29d825)
  • implement improved retry context information (2e8a0ee)
  • implement improved retry context information (5c2cf19)
  • implement improved retry context information (2431ee1)
  • implement improved retry context information (aeb621a)
  • implement improved retry context information (3d2520d)
  • implement improved retry context information (3e38109)
  • implement improved retry context information (8453281)
  • implement improved retry context information (4170803)
  • implement improved retry context information (f8e54b5)
  • implement improved retry context information (85049b9)
  • implement improved retry context information (2a92e35)
  • implement improved retry context information (3b195fe)
  • implement improved retry context information (ae31163)
  • implement improved retry context information (b1499d6)
  • implement improved retry context information (1085216)
  • implement improved retry context information (3616097)
  • implement improved retry context information (6a80994)
  • implement improved retry context information (69d01d4)
  • implement improved retry context information (fa0df98)
  • implement improved retry context information (3eec2e3)
  • implement improved retry context information (1bf497e)
  • implement improved retry context information (bc7a931)
  • implement improved retry context information (c6f5b57)
  • implement improved retry context information (8d4d7a3)
  • implement improved retry context information (affb14f)
  • implement improved retry context information (09c426b)
  • implement improved retry context information (af52279)
  • implement improved retry context information (72491e7)
  • implement improved retry context information (2968790)
  • implement improved retry context information (a4d919e)
  • implement improved retry context information (f437c0a)
  • implement improved retry context information (ba70fd8)
  • implement improved retry context information (95d46a5)
  • implement improved retry context information (413d65f)
  • implement improved retry context information (52639da)
  • implement improved retry context information (961f3cb)
  • implement improved retry context information (98dbb02)
  • implement improved retry context information (cbc22f2)
  • implement improved retry context information (f7c37f5)
  • implement improved retry context information (a7a8945)
  • implement improved retry context information (26db9e3)
  • implement improved retry context information (3ca4123)
  • implement improved retry context information (8553cb9)
  • implement improved retry context information (758756f)
  • implement improved retry context information (065d249)
  • implement improved retry context information (61824e6)
  • implement improved retry context information (67482f7)
  • implement improved retry context information (d540a83)
  • implement improved retry context information (8e516e6)
  • implement improved retry context information (0a2fac5)
  • implement improved retry context information (35c2fbf)
  • implement improved retry context information (e5e1107)
  • implement improved retry context information (79bea2c)
  • implement improved retry context information (9416a8f)
  • implement improved retry context information (411615d)
  • implement improved retry context information (51af43e)
  • implement improved retry context information (0bfb9ff)
  • implement improved retry context information (c648d38)
  • implement improved retry context information (b8dda33)
  • implement improved retry context information (264683e)
  • implement improved retry context information (c653bb6)
  • implement improved retry context information (24be97d)
  • implement improved retry context information (a0535c5)
  • implement improved retry context information (be3be3f)
  • implement improved retry context information (ec59078)
  • introductory beta level support for OpenTelemetry tracing on c.g.c.storage.Storage methods (#2837) (dd889ea)
  • next release from main branch is 2.48.0 (#2885) (34e5903)
  • next release from main branch is 2.50.0 (#2968) (4a69fcc)
  • storagecontrol: Add Anywhere cache control APIs (06572b7)
  • storagecontrol: Add Client Libraries Storage IntelligenceConfig (06572b7)
  • storagecontrol: add GetIamPolicy, SetIamPolicy, and TestIamPermissions RPCs (c884551)
  • transfer-manager: add ParallelUploadConfig.Builder#setUploadBlobInfoFactory (#2936) (86e9ae8), closes #2638
Bug Fixes
  • add case insensitive check for X-Goog-Content-SHA256 in SignatureInfo (#3337) (54bc2c1)
  • add new system property (com.google.cloud.storage.grpc.bound_token) to allow disabling bound token use with grpc (#3365) (ebf5e6d)
  • call response.disconnect() after resolving resumable upload url (#3385) (ac3be4b)
  • cancel the future in RemoteStorageHelper#forceDelete when TimeoutException happens (#3136) (e6007d5)
  • categorize a WatchdogTimeoutException as retriable for grpc ReadObject (#2954) (b53bd53)
  • de-beta storage-v2 artifacts (#2852) (77a2e8a)
  • deps: update the Java code generator (gapic-generator-java) to 2.51.0 (34b8ac4)
  • deps: update the Java code generator (gapic-generator-java) to 2.51.1 (09ed029)
  • deps: update the Java code generator (gapic-generator-java) to 2.52.0 (00754bc)
  • deps: update the Java code generator (gapic-generator-java) to 2.53.0 (9946d6b)
  • deps: update the Java code generator (gapic-generator-java) to 2.54.0 (22e7e3d)
  • deps: update the Java code generator (gapic-generator-java) to 2.55.1 (81c8c61)
  • deps: update the Java code generator (gapic-generator-java) to 2.56.0 (8f9f5ec)
  • deps: update the Java code generator (gapic-generator-java) to 2.56.2 (74c46dd)
  • deps: update the Java code generator (gapic-generator-java) to 2.58.0 (06572b7)
  • deps: update the Java code generator (gapic-generator-java) to 2.59.0 (7dba9f0)
  • deps: update the Java code generator (gapic-generator-java) to 2.60.2 (bd1f199)
  • deps: update the Java code generator (gapic-generator-java) to 2.61.0 (f98b686)
  • deps: update the Java code generator (gapic-generator-java) to 2.62.1 (0e348db)
  • deps: update the Java code generator (gapic-generator-java) to 2.62.2 (984f8ca)
  • deps: update the Java code generator (gapic-generator-java) to 2.62.3 (ba84793)
  • deps: update the Java code generator (gapic-generator-java) to 2.63.0 (c1a8968)
  • deps: update the Java code generator (gapic-generator-java) to 2.64.1 (511ff51)
  • deps: update the Java code generator (gapic-generator-java) to 2.65.0-rc1 (c3267aa)
  • enable ALTS bound token (for DirectPath) in the grpc channel provider (#2919) (38d248d)
  • ensure object generation is sent for Storage#update(BlobInfo) using HTTP Transport (#3006) (2a3e0e7), closes #2980
  • fix a possible NPE that could happen when shutting down a grpc Storage instance (#3089) (56f5d0a)
  • fix appendable upload finalization race condition (#3295) (485be18)
  • fix DefaultBlobWriteSessionConfig init to work when grpc classes are excluded (#3147) (8571ba8)
  • fix grpc ReadObject memory leak introduced in 2.51.0 (#3080) (7057629)
  • fix IllegalMonitorStateException thrown from BlobAppendableUpload.isOpen() (#3302) (aa90468)
  • fix interrupt spiral in grpc ReadObject drainQueue (#2850) (c1dac83)
  • fix Journaling BlobWriteSessionConfig to properly handle multiple consecutive retries (#3166) (895bfbd)
  • give user provided checksum precondition priority for Storage#create methods that accept byte[] #3182 (fa0f6a0)
  • improve 503 handling for json resumable uploads (#2987) (9bc2b14)
  • make FlushPolicy${Min,Max}FlushSizeFlushPolicy constructors private (#3217) (7bd73d3)
  • migrate away from GoogleCredentials.fromStream() usages (#3339) (7e42c2f)
  • move crc32c computation before writing to disk for BufferToDiskThenUpload BlobWriteSession config #3187 (fa0f6a0)
  • next release candidate (eec9efa)
  • update 416 handling for ReadChannel (#3018) (4a9c3e4)
  • update batch handling to ensure each operation has its own unique idempotency-token (#2905) (8d79b8d)
  • update BlobAppendableUpload implementation to periodically flush for large writes (#3278) (d0ffe18)
  • update BlobAppendableUploadConfig and FlushPolicy.MinFlushSizeFlushPolicy to default to 4MiB minFlushSize and 16MiB maxPendingBytes (#3249) (7bd73d3)
  • update BlobReadSession channels to not implicitly close once EOF is observed (#3344) (9f0a93e)
  • update BlobReadSession ScatteringByteChannel projection to use less CPU (#3324) (678fecc)
  • update DefaultRetryContext to trap and forward RejectedExceptionException to onFailure (#3327) (1be31bd)
  • update grpc based Storage to defer project id validation (#2930) (cc03784)
  • update gRPC Bidi resumable upload to have more robust error message generation (#2998) (79b5d85)
  • update grpc client side metrics detection to be graceful when not running on gcp (#3097) (10cd32d)
  • update gRPC implementation for storage.buckets.get to translate NOT_FOUND to null (#3005) (704af65)
  • update grpc single-shot uploads to attach the callers stracktrace as suppressed exception if an error happens in the background (#3330) (64e2b2e)
  • update kms key handling when opening a resumable upload to clear the value in the json to be null rather than empty string (#2939) (43553de)
  • update object context diff logic to be shallow rather than deep (#3287) (2fd15f6)
  • update otel integration to properly activate span context for lazy RPCs such as reads & writes (#3255) (d6587f4)
  • update otel integration to properly activate span context for lazy RPCs such as reads & writes pt.2 (#3277) (3240f67)
  • update PCU request building logic to properly clear crc32c and md5 (#3323) (4da9f31)
  • update request handling of gRPC based CopyWriter (#2858) (093cb87)
  • update retry lifecycle when attempting to decompress a gzip object (#2840) (7dba13c)
  • update retry logic for grpc start resumable upload to properly handle client side deadline_exceeded (#3354) (6eb3331)
  • update Signed URL default scheme to resolve from storage options host (#2880) (7ae7e39), closes #2870
  • update StorageException translation of an ApiException to include error details (#2872) (8ad5010)
  • update usages of String.format to explicitly pass Locale.US (#2974) (8bcb2de), closes #2972
Dependencies
  • remove explicit version declarations for packages that are in shared-dependencies (#3014) (61cdb30)
  • update actions/checkout action to v5 (#3239) (33f024b)
  • update dependency com.google.apis:google-api-services-storage to v1-rev20241206-2.0.0 (#2839) (8f3cdd3)
  • update dependency com.google.apis:google-api-services-storage to v1-rev20250224-2.0.0 (#2969) (80a40c4)
  • update dependency com.google.apis:google-api-services-storage to v1-rev20250312-2.0.0 (#3000) (78fc076)
  • update dependency com.google.apis:google-api-services-storage to v1-rev20250416-2.0.0 (#3063) (d496d5b)
  • update dependency com.google.apis:google-api-services-storage to v1-rev20250420-2.0.0 (#3070) (1ef50f2)
  • update dependency com.google.apis:google-api-services-storage to v1-rev20250424-2.0.0 (#3084) (c7afbde)
  • update dependency com.google.apis:google-api-services-storage to v1-rev20250509-2.0.0 (#3103) (1fd1090)
  • update dependency com.google.apis:google-api-services-storage to v1-rev20250521-2.0.0 (#3118) (e1be49e)
  • update dependency com.google.apis:google-api-services-storage to v1-rev20250524-2.0.0 (#3127) (2a4499d)
  • update dependency com.google.apis:google-api-services-storage to v1-rev20250605-2.0.0 (#3143) (17a80d8)
  • update dependency com.google.apis:google-api-services-storage to v1-rev20250629-2.0.0 (#3185) (4ce8281)
  • update dependency com.google.apis:google-api-services-storage to v1-rev20250718-2.0.0 (#3203) (18978e4)
  • update dependency com.google.apis:google-api-services-storage to v1-rev20250815-2.0.0 (#3245) (87afe1a)
  • update dependency com.google.apis:google-api-services-storage to v1-rev20250925-2.0.0 (#3313) (ab310eb)
  • update dependency com.google.cloud:sdk-platform-java-config to v3.42.0 (#2895) (145afb0)
  • update dependency com.google.cloud:sdk-platform-java-config to v3.46.2 (#3061) (cb43a6c)
  • update dependency com.google.cloud:sdk-platform-java-config to v3.50.1 (#3189) (7fbfb01)
  • update dependency com.google.cloud:sdk-platform-java-config to v3.50.2 (#3201) (782c3c4)
  • update dependency com.google.cloud:sdk-platform-java-config to v3.51.0 (#3213) (86ff697)
  • update dependency com.google.cloud:sdk-platform-java-config to v3.52.0 (#3250) (0782e62)
  • update dependency com.google.cloud:sdk-platform-java-config to v3.52.1 (#3280) (d046ea3)
  • update dependency com.google.cloud:sdk-platform-java-config to v3.52.2 (#3298) (1489f3a)
  • update dependency com.google.cloud:sdk-platform-java-config to v3.52.3 (#3325) (4d3e3be)
  • update dependency com.google.cloud:sdk-platform-java-config to v3.53.0 (#3351) (e64565a)
  • update dependency com.google.cloud:sdk-platform-java-config to v3.54.1 (#3381) (e3d3700)
  • update dependency com.google.cloud.opentelemetry:exporter-trace to v0.33.0 (#2873) (39509d5)
  • update dependency com.google.cloud.opentelemetry:exporter-trace to v0.33.0 (#2904) (2a5242e)
  • update dependency com.google.cloud.opentelemetry:exporter-trace to v0.34.0 (#2938) (ff6f696)
  • update dependency com.google.cloud.opentelemetry:exporter-trace to v0.36.0 (#3162) (41a1030)
  • update gcr.io/cloud-devrel-public-resources/storage-testbench docker tag to v0.51.0 (#2860) (980ac4e)
  • update gcr.io/cloud-devrel-public-resources/storage-testbench docker tag to v0.52.0 (#2883) (a64a3d5)
  • update gcr.io/cloud-devrel-public-resources/storage-testbench docker tag to v0.59.0 (f5d8337)
  • update gcr.io/cloud-devrel-public-resources/storage-testbench docker tag to v0.59.0 (5480ce3)
  • update googleapis/sdk-platform-java action to v2.51.1 (#2864) (b731c06)
  • update googleapis/sdk-platform-java action to v2.55.1 (#2985) (e22a2de)
  • update googleapis/sdk-platform-java action to v2.56.2 (#3055) (7025ad7)
  • update googleapis/sdk-platform-java action to v2.60.1 (#3196) (6ba56e5)
  • update googleapis/sdk-platform-java action to v2.62.1 (#3281) (c9078bb)
  • update googleapis/sdk-platform-java action to v2.62.2 (#3299) (c3b05ac)
  • update googleapis/sdk-platform-java action to v2.62.3 (#3322) (a5808ea)
  • update sdk-platform-java dependencies (#2841) (2a70481)
  • update sdk-platform-java dependencies (#2866) (562df7f)
  • update sdk-platform-java dependencies (#2921) (fa9b0a8)
  • update sdk-platform-java dependencies (#2957) (40cfda6)
  • update sdk-platform-java dependencies (#2983) (9eeb82a)
  • update sdk-platform-java dependencies (#2986) (10b922a)
  • update sdk-platform-java dependencies (#3046) (861f958)
  • update sdk-platform-java dependencies (#3053) (921d1ba)
  • update sdk-platform-java dependencies (#3087) (762ca13)
  • update sdk-platform-java dependencies (#3102) (3b53b94)
  • update sdk-platform-java dependencies (#3129) (31cd058)
  • update sdk-platform-java dependencies (#3152) (2f78192)
  • update sdk-platform-java dependencies (#3164) (c22a131)
  • update sdk-platform-java-config to 3.55.0-rc1 (#3434) (25283cb)
Documentation
  • add explicit Optional annotations to fields that have always been treated as optional (53b6927)
  • add note about HNS support to moveBlob (#2929) (c461546)
  • add note that Bucket.project output format is always project number format (53b6927)
  • add note that managedFolders are supported for GetIamPolicy and SetIamPolicy (53b6927)
  • add samples for soft delete (objects) (#2754) (41bc807)
  • Create OpenTelemetry Quickstart Sample (#2861) (31df9b7)
  • update storage_copy_file to include MegabytesCopiedPerChunk (#2910) (971ca5d)

December 16, 2025