<?xml version="1.0" encoding="UTF-8"?>
<!-- AUTOGENERATED FILE. DO NOT EDIT. -->
<feed xmlns="http://www.w3.org/2005/Atom">
  <id>tag:google.com,2016:storage-release-notes</id>
  <title>Cloud Storage - Release notes</title>
  <link rel="self" href="https://docs.cloud.google.com/feeds/storage-release-notes.xml"/>
  <author>
    <name>Google Cloud Platform</name>
  </author>
  <updated>2026-04-02T00:00:00-07:00</updated>

  <entry>
    <title>April 02, 2026</title>
    <id>tag:google.com,2016:storage-release-notes#April_02_2026</id>
    <updated>2026-04-02T00:00:00-07:00</updated>
    <link rel="alternate" href="https://docs.cloud.google.com/storage/docs/release-notes#April_02_2026"/>
    <content type="html"><![CDATA[<h3>Feature</h3>
<p>You can configure which encryption types are allowed or prohibited for
creating new objects in a bucket. For more information, see
<a href="https://docs.cloud.google.com/storage/docs/encryption/enforce-encryption-types">Enforce or restrict the encryption types for a bucket</a>.</p>
]]>
    </content>
  </entry>

  <entry>
    <title>March 31, 2026</title>
    <id>tag:google.com,2016:storage-release-notes#March_31_2026</id>
    <updated>2026-03-31T00:00:00-07:00</updated>
    <link rel="alternate" href="https://docs.cloud.google.com/storage/docs/release-notes#March_31_2026"/>
    <content type="html"><![CDATA[<h3>Feature</h3>
<p>You can now use Storage Insights datasets to help manage your data security and compliance. The ability to <a href="https://docs.cloud.google.com/storage/docs/insights/datasets#public-accessible-objects">identify publicly accessible objects</a> is now <a href="https://developers.google.com/maps/launch-stages#ga">generally available</a>. Additionally, new fields in bucket and object metadata schemas, such as <code>encryption</code>, <code>retentionPeriod</code>, <code>encryptionType</code>, and <code>retentionExpirationTime</code>, help you audit encryption configurations and monitor data retention policies. For more information, see
<a href="https://docs.cloud.google.com/storage/docs/insights/datasets">Storage Insights datasets</a> and
<a href="https://docs.cloud.google.com/storage/docs/insights/dataset-tables-and-schemas">Dataset tables and schemas</a>.</p>
]]>
    </content>
  </entry>

  <entry>
    <title>March 24, 2026</title>
    <id>tag:google.com,2016:storage-release-notes#March_24_2026</id>
    <updated>2026-03-24T00:00:00-07:00</updated>
    <link rel="alternate" href="https://docs.cloud.google.com/storage/docs/release-notes#March_24_2026"/>
    <content type="html"><![CDATA[<h3>Announcement</h3>
<p>Anywhere Cache has been renamed to Rapid Cache.</p>
]]>
    </content>
  </entry>

  <entry>
    <title>March 12, 2026</title>
    <id>tag:google.com,2016:storage-release-notes#March_12_2026</id>
    <updated>2026-03-12T00:00:00-07:00</updated>
    <link rel="alternate" href="https://docs.cloud.google.com/storage/docs/release-notes#March_12_2026"/>
    <content type="html"><![CDATA[<h3>Change</h3>
<p>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
<a href="https://docs.cloud.google.com/storage/docs/encryption/using-customer-managed-keys#service-agent-access">Assign a Cloud KMS key to a service agent</a>.</p>
]]>
    </content>
  </entry>

  <entry>
    <title>March 10, 2026</title>
    <id>tag:google.com,2016:storage-release-notes#March_10_2026</id>
    <updated>2026-03-10T00:00:00-07:00</updated>
    <link rel="alternate" href="https://docs.cloud.google.com/storage/docs/release-notes#March_10_2026"/>
    <content type="html"><![CDATA[<h3>Feature</h3>
<p>Rapid Bucket is now <a href="https://developers.google.com/maps/launch-stages#ga">generally available</a>.
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.</p>
<p>For more information, see <a href="https://docs.cloud.google.com/storage/docs/rapid/rapid-bucket">Rapid Bucket</a>
and <a href="https://docs.cloud.google.com/storage/docs/rapid/create-zonal-buckets">Create zonal buckets</a>.</p>
]]>
    </content>
  </entry>

  <entry>
    <title>March 06, 2026</title>
    <id>tag:google.com,2016:storage-release-notes#March_06_2026</id>
    <updated>2026-03-06T00:00:00-08:00</updated>
    <link rel="alternate" href="https://docs.cloud.google.com/storage/docs/release-notes#March_06_2026"/>
    <content type="html"><![CDATA[<h3>Feature</h3>
<p>You can now <a href="https://docs.cloud.google.com/storage/docs/insights/datasets#public-accessible-objects">identify publicly accessible objects</a> (<a href="https://docs.cloud.google.com/products#product-launch-stages">preview</a>) 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.</p>
]]>
    </content>
  </entry>

  <entry>
    <title>March 05, 2026</title>
    <id>tag:google.com,2016:storage-release-notes#March_05_2026</id>
    <updated>2026-03-05T00:00:00-08:00</updated>
    <link rel="alternate" href="https://docs.cloud.google.com/storage/docs/release-notes#March_05_2026"/>
    <content type="html"><![CDATA[<h3>Feature</h3>
<p>You can now analyze object data and metadata from your Storage Insights
datasets by using BigQuery <code>ObjectRef</code> functions. The <code>ref</code> column in the
dataset contains a reference to the Cloud Storage object which you can use with
<code>ObjectRef</code> 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
<a href="https://docs.cloud.google.com/storage/docs/insights/configure-datasets#analyze-object-data">Analyze object data and metadata using BigQuery</a>.</p>
]]>
    </content>
  </entry>

  <entry>
    <title>January 30, 2026</title>
    <id>tag:google.com,2016:storage-release-notes#January_30_2026</id>
    <updated>2026-01-30T00:00:00-08:00</updated>
    <link rel="alternate" href="https://docs.cloud.google.com/storage/docs/release-notes#January_30_2026"/>
    <content type="html"><![CDATA[<h3>Announcement</h3>
<p>Object change notification is deprecated on January 30, 2026. To generate
notifications for changes to objects, use
<a href="https://docs.cloud.google.com/storage/docs/migrate-to-pub-sub-notifications">Pub/Sub notifications for Cloud Storage</a> instead.</p>
]]>
    </content>
  </entry>

  <entry>
    <title>January 28, 2026</title>
    <id>tag:google.com,2016:storage-release-notes#January_28_2026</id>
    <updated>2026-01-28T00:00:00-08:00</updated>
    <link rel="alternate" href="https://docs.cloud.google.com/storage/docs/release-notes#January_28_2026"/>
    <content type="html"><![CDATA[<h3>Feature</h3>
<p>Previously, when <a href="https://docs.cloud.google.com/storage/docs/listing-buckets">listing buckets</a> 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.</p>
]]>
    </content>
  </entry>

  <entry>
    <title>January 21, 2026</title>
    <id>tag:google.com,2016:storage-release-notes#January_21_2026</id>
    <updated>2026-01-21T00:00:00-08:00</updated>
    <link rel="alternate" href="https://docs.cloud.google.com/storage/docs/release-notes#January_21_2026"/>
    <content type="html"><![CDATA[<h3>Feature</h3>
<p>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
<a href="https://docs.cloud.google.com/storage/docs/bucket-relocation/overview">Bucket relocation overview</a>.</p>
]]>
    </content>
  </entry>

  <entry>
    <title>January 20, 2026</title>
    <id>tag:google.com,2016:storage-release-notes#January_20_2026</id>
    <updated>2026-01-20T00:00:00-08:00</updated>
    <link rel="alternate" href="https://docs.cloud.google.com/storage/docs/release-notes#January_20_2026"/>
    <content type="html"><![CDATA[<h3>Feature</h3>
<p>Cloud Storage now offers support in the Thailand, Bangkok (<code>asia-southeast3</code>)
region. To learn more about supported locations, see <a href="https://docs.cloud.google.com/storage/docs/locations">Cloud Storage bucket
locations</a>.</p>
]]>
    </content>
  </entry>

  <entry>
    <title>January 16, 2026</title>
    <id>tag:google.com,2016:storage-release-notes#January_16_2026</id>
    <updated>2026-01-16T00:00:00-08:00</updated>
    <link rel="alternate" href="https://docs.cloud.google.com/storage/docs/release-notes#January_16_2026"/>
    <content type="html"><![CDATA[<h3>Feature</h3>
<p>You can now use <a href="https://docs.cloud.google.com/storage/docs/batch-operations/overview#dry-run">dry run</a> 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.</p>
<p>To learn how to configure a dry run job, see <a href="https://docs.cloud.google.com/storage/docs/batch-operations/create-manage-batch-operation-jobs">Create and manage batch operations
jobs</a>.</p>
]]>
    </content>
  </entry>

  <entry>
    <title>January 15, 2026</title>
    <id>tag:google.com,2016:storage-release-notes#January_15_2026</id>
    <updated>2026-01-15T00:00:00-08:00</updated>
    <link rel="alternate" href="https://docs.cloud.google.com/storage/docs/release-notes#January_15_2026"/>
    <content type="html"><![CDATA[<h3>Feature</h3>
<p>When you
<a href="https://docs.cloud.google.com/storage/docs/use-soft-deleted-objects#bulk-restore">bulk restore soft-deleted objects</a>,
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.</p>
]]>
    </content>
  </entry>

  <entry>
    <title>December 22, 2025</title>
    <id>tag:google.com,2016:storage-release-notes#December_22_2025</id>
    <updated>2025-12-22T00:00:00-08:00</updated>
    <link rel="alternate" href="https://docs.cloud.google.com/storage/docs/release-notes#December_22_2025"/>
    <content type="html"><![CDATA[<h3>Libraries</h3>
<div class="ds-selector-tabs" data-ds-scope="code-sample">
<section><h3 track-name="java">Java</h3><h4 id="2610_2025-12-15"><a href="https://github.com/googleapis/java-storage/compare/v2.60.0...v2.61.0" rel="noreferrer noopener">2.61.0</a> (2025-12-15)</h4>
<h5 id="features_6">Features</h5>
<ul>
<li>Add support for partial success in ListBuckets for json (<a href="https://github.com/googleapis/java-storage/issues/3415" rel="noreferrer noopener">#3415</a>) (<a href="https://github.com/googleapis/java-storage/commit/37ef7f3894a867257d5366ab36129043b9a884f8" rel="noreferrer noopener">37ef7f3</a>)</li>
<li>Modifying getters and setters to be more inline with s3 interface. (<a href="https://github.com/googleapis/java-storage/commit/0a8bbeaf8babd296fce0690421d2e480b361ca7e" rel="noreferrer noopener">0a8bbea</a>)</li>
<li><strong>mpu:</strong> Breaking change modifying getters and setters in MPU to be more inline with s3 interface. (<a href="https://github.com/googleapis/java-storage/commit/66d54e2dc36d90853bae4d529a620f45a7001487" rel="noreferrer noopener">66d54e2</a>)</li>
</ul>
<h5 id="bug_fixes_10">Bug Fixes</h5>
<ul>
<li><strong>deps:</strong> Update the Java code generator (gapic-generator-java) to 2.64.1 (<a href="https://github.com/googleapis/java-storage/commit/511ff514410e55425e968ab900ac1b8825fe507a" rel="noreferrer noopener">511ff51</a>)</li>
</ul>
<h5 id="dependencies_4">Dependencies</h5>
<ul>
<li>Update actions/checkout action to v6 (<a href="https://github.com/googleapis/java-storage/commit/d934ad91aa1bf50e04870b1af747f1947fb2cbea" rel="noreferrer noopener">d934ad9</a>)</li>
<li>Update actions/checkout action to v6 (<a href="https://github.com/googleapis/java-storage/commit/d99dd53a0401f5460a63be7a6b927a27cdad0997" rel="noreferrer noopener">d99dd53</a>)</li>
<li>Update dependency com.google.apis:google-api-services-storage to v1-rev20251118-2.0.0 (<a href="https://github.com/googleapis/java-storage/commit/f48fa3f1dc5feabd89be063b138804b83f722c0c" rel="noreferrer noopener">f48fa3f</a>)</li>
<li>Update dependency com.google.apis:google-api-services-storage to v1-rev20251118-2.0.0 (<a href="https://github.com/googleapis/java-storage/issues/3427" rel="noreferrer noopener">#3427</a>) (<a href="https://github.com/googleapis/java-storage/commit/4612e72051d35b22135811a8723a65646a90d45e" rel="noreferrer noopener">4612e72</a>)</li>
<li>Update dependency com.google.cloud:sdk-platform-java-config to v3.54.2 (<a href="https://github.com/googleapis/java-storage/commit/90a71be0899d06995b515d875c65cdc5f852c7b0" rel="noreferrer noopener">90a71be</a>)</li>
<li>Update dependency com.google.cloud:sdk-platform-java-config to v3.54.2 (<a href="https://github.com/googleapis/java-storage/issues/3424" rel="noreferrer noopener">#3424</a>) (<a href="https://github.com/googleapis/java-storage/commit/c989dc3e65386e55bc25d2f6f63e499deda3fc69" rel="noreferrer noopener">c989dc3</a>)</li>
<li>Update gcr.io/cloud-devrel-public-resources/storage-testbench docker tag to v0.59.0 (<a href="https://github.com/googleapis/java-storage/commit/f5d8337ad556770a55cc260975e44e85e8e831b0" rel="noreferrer noopener">f5d8337</a>)</li>
<li>Update gcr.io/cloud-devrel-public-resources/storage-testbench docker tag to v0.59.0 (<a href="https://github.com/googleapis/java-storage/commit/5480ce347493ec425b675f462a42f45c22b06c28" rel="noreferrer noopener">5480ce3</a>)</li>
<li>Update googleapis/sdk-platform-java action to v2.64.2 (<a href="https://github.com/googleapis/java-storage/commit/23494d79d3a2785c30c75f50fd3b0a03598c3599" rel="noreferrer noopener">23494d7</a>)</li>
<li>Update googleapis/sdk-platform-java action to v2.64.2 (<a href="https://github.com/googleapis/java-storage/issues/3425" rel="noreferrer noopener">#3425</a>) (<a href="https://github.com/googleapis/java-storage/commit/fad2d7a780a084acd8ccdf2bb2f97a335c438594" rel="noreferrer noopener">fad2d7a</a>)</li>
</ul></section>
<section><h3 track-name="java">Java</h3><h4 id="2620-rc1_2025-12-17"><a href="https://github.com/googleapis/java-storage/compare/v2.61.0...v2.62.0-rc1" rel="noreferrer noopener">2.62.0-rc1</a> (2025-12-17)</h4>
<h5 id="features_7">Features</h5>
<ul>
<li><em>breaking behavior</em> rewrite Storage.blobAppendableUpload to be non-blocking and have improved throughput (<a href="https://github.com/googleapis/java-storage/issues/3231" rel="noreferrer noopener">#3231</a>) (<a href="https://github.com/googleapis/java-storage/commit/7bd73d3104f5c47299f5a9c8d68dec82933eeda5" rel="noreferrer noopener">7bd73d3</a>)</li>
<li>add @BetaApi Storage#blobAppendableUpload for gRPC Transport (<a href="https://github.com/googleapis/java-storage/commit/62b62482c10d79c9f7d1b7c6cedd9e7d422a58ad" rel="noreferrer noopener">62b6248</a>)</li>
<li>add @BetaApi Storage#blobAppendableUpload for gRPC Transport (<a href="https://github.com/googleapis/java-storage/commit/c3a0aaa68f9ee64d850ef5d7cd1c7bea01113503" rel="noreferrer noopener">c3a0aaa</a>)</li>
<li>add @BetaApi Storage#blobAppendableUpload for gRPC Transport (<a href="https://github.com/googleapis/java-storage/commit/fac7839739bcf5fb0e63fb39b02b331206cc3630" rel="noreferrer noopener">fac7839</a>)</li>
<li>add @BetaApi Storage#blobAppendableUpload for gRPC Transport (<a href="https://github.com/googleapis/java-storage/commit/8332e1b3636bdbbd4e550053725e7ab040bff463" rel="noreferrer noopener">8332e1b</a>)</li>
<li>add @BetaApi Storage#blobAppendableUpload for gRPC Transport (<a href="https://github.com/googleapis/java-storage/commit/e4688a00b7f35a28dd079606b7fdd36851564834" rel="noreferrer noopener">e4688a0</a>)</li>
<li>add @BetaApi Storage#blobAppendableUpload for gRPC Transport (<a href="https://github.com/googleapis/java-storage/commit/b426e7d3d57f0e147bfc4dda0319665130c970a1" rel="noreferrer noopener">b426e7d</a>)</li>
<li>add @BetaApi Storage#blobAppendableUpload for gRPC Transport (<a href="https://github.com/googleapis/java-storage/commit/c601cca381881d4ef52b851fe8edd13037688b9e" rel="noreferrer noopener">c601cca</a>)</li>
<li>add @BetaApi Storage#blobAppendableUpload for gRPC Transport (<a href="https://github.com/googleapis/java-storage/commit/c58fe1f62ebdaab1ea74de1d05c0b2e6500994bf" rel="noreferrer noopener">c58fe1f</a>)</li>
<li>add @BetaApi Storage#blobAppendableUpload for gRPC Transport (<a href="https://github.com/googleapis/java-storage/commit/616256aa5850e625faf6f74996dc40c911050952" rel="noreferrer noopener">616256a</a>)</li>
<li>add @BetaApi Storage#blobAppendableUpload for gRPC Transport (<a href="https://github.com/googleapis/java-storage/commit/ba3af58df8d296bfc6290107e595219472a16861" rel="noreferrer noopener">ba3af58</a>)</li>
<li>add @BetaApi Storage#blobAppendableUpload for gRPC Transport (<a href="https://github.com/googleapis/java-storage/commit/e12d2ad9bd301bbcb4ac227a8327fd1754205595" rel="noreferrer noopener">e12d2ad</a>)</li>
<li>add @BetaApi Storage#blobAppendableUpload for gRPC Transport (<a href="https://github.com/googleapis/java-storage/commit/d6044a1c47345b18a018829e272612bc5c52f4b9" rel="noreferrer noopener">d6044a1</a>)</li>
<li>add @BetaApi Storage#blobAppendableUpload for gRPC Transport (<a href="https://github.com/googleapis/java-storage/commit/eebc6c6700d2b94b320777c2bd68377570d3c6da" rel="noreferrer noopener">eebc6c6</a>)</li>
<li>add @BetaApi Storage#blobAppendableUpload for gRPC Transport (<a href="https://github.com/googleapis/java-storage/commit/12507e2172b8b59b10e98eb8dda9d1c5050a647f" rel="noreferrer noopener">12507e2</a>)</li>
<li>add @BetaApi Storage#blobAppendableUpload for gRPC Transport (<a href="https://github.com/googleapis/java-storage/commit/58557a054e52fde1c33b8817fbb3f36d41665d9f" rel="noreferrer noopener">58557a0</a>)</li>
<li>add @BetaApi Storage#blobAppendableUpload for gRPC Transport (<a href="https://github.com/googleapis/java-storage/commit/c109fdbe515d62bf152bba9803fb25e388656a24" rel="noreferrer noopener">c109fdb</a>)</li>
<li>add @BetaApi Storage#blobAppendableUpload for gRPC Transport (<a href="https://github.com/googleapis/java-storage/commit/d98ecc7df39142ea90e51b47f42dffad0ac03c24" rel="noreferrer noopener">d98ecc7</a>)</li>
<li>add @BetaApi Storage#blobAppendableUpload for gRPC Transport (<a href="https://github.com/googleapis/java-storage/commit/6858a9dac8bd622b214c8b9fa9a180b95c2a092d" rel="noreferrer noopener">6858a9d</a>)</li>
<li>add @BetaApi Storage#blobAppendableUpload for gRPC Transport (<a href="https://github.com/googleapis/java-storage/commit/bb7e1b45822741b7d3d470a1e0fa350a963841bf" rel="noreferrer noopener">bb7e1b4</a>)</li>
<li>add @BetaApi Storage#blobAppendableUpload for gRPC Transport (<a href="https://github.com/googleapis/java-storage/commit/e89ae2757578adc099442e2b7844949c666468c8" rel="noreferrer noopener">e89ae27</a>)</li>
<li>add @BetaApi Storage#blobAppendableUpload for gRPC Transport (<a href="https://github.com/googleapis/java-storage/commit/8beaa0353f51846cd902ef1568bd1bb8b4936b68" rel="noreferrer noopener">8beaa03</a>)</li>
<li>add @BetaApi Storage#blobAppendableUpload for gRPC Transport (<a href="https://github.com/googleapis/java-storage/commit/ff8fd8fdbd78b7cf4b0dad70d93cd6aeaadb0a03" rel="noreferrer noopener">ff8fd8f</a>)</li>
<li>add @BetaApi Storage#blobAppendableUpload for gRPC Transport (<a href="https://github.com/googleapis/java-storage/commit/944e0bc57be2e04df0358b85b43167fc4ea0bcfe" rel="noreferrer noopener">944e0bc</a>)</li>
<li>add @BetaApi Storage#blobAppendableUpload for gRPC Transport (<a href="https://github.com/googleapis/java-storage/commit/eb8c5c896c758d36eb114143fb79be74f28f0232" rel="noreferrer noopener">eb8c5c8</a>)</li>
<li>add @BetaApi Storage#blobAppendableUpload for gRPC Transport (<a href="https://github.com/googleapis/java-storage/commit/50e4589dc0e6ab88fbe869ba4b3a959d2dcfec2b" rel="noreferrer noopener">50e4589</a>)</li>
<li>add @BetaApi Storage#blobAppendableUpload for gRPC Transport (<a href="https://github.com/googleapis/java-storage/commit/a7519715f73b11659608d97bf95eeb690e5f6a44" rel="noreferrer noopener">a751971</a>)</li>
<li>add @BetaApi Storage#blobAppendableUpload for gRPC Transport (<a href="https://github.com/googleapis/java-storage/commit/befff3b4b2a3b8da70b514f6489ae6a690e419c0" rel="noreferrer noopener">befff3b</a>)</li>
<li>add @BetaApi Storage#blobAppendableUpload for gRPC Transport (<a href="https://github.com/googleapis/java-storage/commit/ac950ada45d0408199249a25f93e0c5b0a12ab12" rel="noreferrer noopener">ac950ad</a>)</li>
<li>add @BetaApi Storage#blobAppendableUpload for gRPC Transport (<a href="https://github.com/googleapis/java-storage/commit/f3817950fb2ded13904c549718f6baeb73ad5e85" rel="noreferrer noopener">f381795</a>)</li>
<li>add @BetaApi Storage#blobAppendableUpload for gRPC Transport (<a href="https://github.com/googleapis/java-storage/commit/84ffb6d432e75daf89b4910af3c7f50a39dcb323" rel="noreferrer noopener">84ffb6d</a>)</li>
<li>add @BetaApi Storage#blobAppendableUpload for gRPC Transport (<a href="https://github.com/googleapis/java-storage/commit/b95e51d89101ea4683c944856cb7c19ad6b4b514" rel="noreferrer noopener">b95e51d</a>)</li>
<li>add @BetaApi Storage#blobAppendableUpload for gRPC Transport (<a href="https://github.com/googleapis/java-storage/commit/03aa3e735f941ec896c47d4d4ea1bf0700a0b626" rel="noreferrer noopener">03aa3e7</a>)</li>
<li>add @BetaApi Storage#blobAppendableUpload for gRPC Transport (<a href="https://github.com/googleapis/java-storage/commit/23f9a793b69d2d34abecb31f4628fc07923c5e2d" rel="noreferrer noopener">23f9a79</a>)</li>
<li>add @BetaApi Storage#blobAppendableUpload for gRPC Transport (<a href="https://github.com/googleapis/java-storage/commit/e2a3e3c2ca8e323f0e99d2cc67ce1cd1b034a049" rel="noreferrer noopener">e2a3e3c</a>)</li>
<li>add @BetaApi Storage#blobAppendableUpload for gRPC Transport (<a href="https://github.com/googleapis/java-storage/commit/bee43087ec13eadca435ebccdca56d4ca39e5a57" rel="noreferrer noopener">bee4308</a>)</li>
<li>add @BetaApi Storage#blobAppendableUpload for gRPC Transport (<a href="https://github.com/googleapis/java-storage/commit/28f27592df6b5a70db3e9cfabaa23ab2b3c15680" rel="noreferrer noopener">28f2759</a>)</li>
<li>add @BetaApi Storage#blobAppendableUpload for gRPC Transport (<a href="https://github.com/googleapis/java-storage/commit/775ad240569c3b77eb3ab0df023313e675eddf4b" rel="noreferrer noopener">775ad24</a>)</li>
<li>add @BetaApi Storage#blobAppendableUpload for gRPC Transport (<a href="https://github.com/googleapis/java-storage/commit/f29d825d1521fb3ca8fe94f5904df8e356e3e68e" rel="noreferrer noopener">f29d825</a>)</li>
<li>add @BetaApi Storage#blobAppendableUpload for gRPC Transport (<a href="https://github.com/googleapis/java-storage/commit/2e8a0eef40df70fab703c199a3b5b58c645bb2df" rel="noreferrer noopener">2e8a0ee</a>)</li>
<li>add @BetaApi Storage#blobAppendableUpload for gRPC Transport (<a href="https://github.com/googleapis/java-storage/commit/5c2cf196c202d91618ebedf5ba7a26d8d21790d5" rel="noreferrer noopener">5c2cf19</a>)</li>
<li>add @BetaApi Storage#blobAppendableUpload for gRPC Transport (<a href="https://github.com/googleapis/java-storage/commit/2431ee1a350c9c47b5dfa6da20c4b5788eb9388f" rel="noreferrer noopener">2431ee1</a>)</li>
<li>add @BetaApi Storage#blobAppendableUpload for gRPC Transport (<a href="https://github.com/googleapis/java-storage/commit/aeb621ad08ef6369dbeba369a2345ba9a50e5218" rel="noreferrer noopener">aeb621a</a>)</li>
<li>add @BetaApi Storage#blobAppendableUpload for gRPC Transport (<a href="https://github.com/googleapis/java-storage/commit/3d2520dd6686dd873a941ceabe602407ec7f8f96" rel="noreferrer noopener">3d2520d</a>)</li>
<li>add @BetaApi Storage#blobAppendableUpload for gRPC Transport (<a href="https://github.com/googleapis/java-storage/commit/3e38109a734395cc9324e31d9473b3b7991232bc" rel="noreferrer noopener">3e38109</a>)</li>
<li>add @BetaApi Storage#blobAppendableUpload for gRPC Transport (<a href="https://github.com/googleapis/java-storage/commit/8453281c53448323fb83f2dea076886c4a37ff92" rel="noreferrer noopener">8453281</a>)</li>
<li>add @BetaApi Storage#blobAppendableUpload for gRPC Transport (<a href="https://github.com/googleapis/java-storage/commit/41708031863ea2b50b22c60d8a61f75a6c1f2de0" rel="noreferrer noopener">4170803</a>)</li>
<li>add @BetaApi Storage#blobAppendableUpload for gRPC Transport (<a href="https://github.com/googleapis/java-storage/commit/f8e54b532a09b39d7690763dda1da640b3012cdd" rel="noreferrer noopener">f8e54b5</a>)</li>
<li>add @BetaApi Storage#blobAppendableUpload for gRPC Transport (<a href="https://github.com/googleapis/java-storage/commit/85049b97b3cc8a82bb28d75295e1cdf5e3cc06ae" rel="noreferrer noopener">85049b9</a>)</li>
<li>add @BetaApi Storage#blobAppendableUpload for gRPC Transport (<a href="https://github.com/googleapis/java-storage/commit/2a92e359ce1463306bef3415dde4af69ed515873" rel="noreferrer noopener">2a92e35</a>)</li>
<li>add @BetaApi Storage#blobAppendableUpload for gRPC Transport (<a href="https://github.com/googleapis/java-storage/commit/3b195fecc165896fc7654744e82247127e39e535" rel="noreferrer noopener">3b195fe</a>)</li>
<li>add @BetaApi Storage#blobAppendableUpload for gRPC Transport (<a href="https://github.com/googleapis/java-storage/commit/ae31163618704a1c37394ccc5b4213773f149ac5" rel="noreferrer noopener">ae31163</a>)</li>
<li>add @BetaApi Storage#blobAppendableUpload for gRPC Transport (<a href="https://github.com/googleapis/java-storage/commit/b1499d6b64d82c54e339f2af86422ae0a8aa766b" rel="noreferrer noopener">b1499d6</a>)</li>
<li>add @BetaApi Storage#blobAppendableUpload for gRPC Transport (<a href="https://github.com/googleapis/java-storage/commit/1085216acd5fc3191ff043615b0f0b52730e56e2" rel="noreferrer noopener">1085216</a>)</li>
<li>add @BetaApi Storage#blobAppendableUpload for gRPC Transport (<a href="https://github.com/googleapis/java-storage/commit/36160978c767c828921fabc1314c89a81eb612b9" rel="noreferrer noopener">3616097</a>)</li>
<li>add @BetaApi Storage#blobAppendableUpload for gRPC Transport (<a href="https://github.com/googleapis/java-storage/commit/6a8099482558b3486b008af632f18094e6461797" rel="noreferrer noopener">6a80994</a>)</li>
<li>add @BetaApi Storage#blobAppendableUpload for gRPC Transport (<a href="https://github.com/googleapis/java-storage/commit/69d01d41b731f6c03049c24b954704a672400cbd" rel="noreferrer noopener">69d01d4</a>)</li>
<li>add @BetaApi Storage#blobAppendableUpload for gRPC Transport (<a href="https://github.com/googleapis/java-storage/commit/fa0df985586466f73aa7bca9a4982402aa802bc8" rel="noreferrer noopener">fa0df98</a>)</li>
<li>add @BetaApi Storage#blobAppendableUpload for gRPC Transport (<a href="https://github.com/googleapis/java-storage/commit/3eec2e327f4aad1bb46f3389e76d02b55a31ee43" rel="noreferrer noopener">3eec2e3</a>)</li>
<li>add @BetaApi Storage#blobAppendableUpload for gRPC Transport (<a href="https://github.com/googleapis/java-storage/commit/1bf497e3ce2105734daa262589550aca29eee0f2" rel="noreferrer noopener">1bf497e</a>)</li>
<li>add @BetaApi Storage#blobAppendableUpload for gRPC Transport (<a href="https://github.com/googleapis/java-storage/commit/bc7a931542b22589c39d0be0980eb116dbf2a0dc" rel="noreferrer noopener">bc7a931</a>)</li>
<li>add @BetaApi Storage#blobAppendableUpload for gRPC Transport (<a href="https://github.com/googleapis/java-storage/commit/c6f5b57e3cdd3747121f50284bca7f823e34f329" rel="noreferrer noopener">c6f5b57</a>)</li>
<li>add @BetaApi Storage#blobAppendableUpload for gRPC Transport (<a href="https://github.com/googleapis/java-storage/commit/8d4d7a3caed4711a59a9509347ed634a783e390a" rel="noreferrer noopener">8d4d7a3</a>)</li>
<li>add @BetaApi Storage#blobAppendableUpload for gRPC Transport (<a href="https://github.com/googleapis/java-storage/commit/affb14fbb2738c687a885ad4491e57da7808cb9b" rel="noreferrer noopener">affb14f</a>)</li>
<li>add @BetaApi Storage#blobAppendableUpload for gRPC Transport (<a href="https://github.com/googleapis/java-storage/commit/09c426b42d4d72d547312e68428373bc6edfc585" rel="noreferrer noopener">09c426b</a>)</li>
<li>add @BetaApi Storage#blobAppendableUpload for gRPC Transport (<a href="https://github.com/googleapis/java-storage/commit/af5227949285419add4398e62dd7276e2e9038f4" rel="noreferrer noopener">af52279</a>)</li>
<li>add @BetaApi Storage#blobAppendableUpload for gRPC Transport (<a href="https://github.com/googleapis/java-storage/commit/72491e711054572d90c5b673a128bf5294f07daf" rel="noreferrer noopener">72491e7</a>)</li>
<li>add @BetaApi Storage#blobAppendableUpload for gRPC Transport (<a href="https://github.com/googleapis/java-storage/commit/2968790b77bae8751ae56c306e736c99409da8a7" rel="noreferrer noopener">2968790</a>)</li>
<li>add @BetaApi Storage#blobAppendableUpload for gRPC Transport (<a href="https://github.com/googleapis/java-storage/commit/a4d919ed36d3095653b22abb9bc607e58d39ddaa" rel="noreferrer noopener">a4d919e</a>)</li>
<li>add @BetaApi Storage#blobAppendableUpload for gRPC Transport (<a href="https://github.com/googleapis/java-storage/commit/f437c0a427d234a4d7afc486e1480e64695e7785" rel="noreferrer noopener">f437c0a</a>)</li>
<li>add @BetaApi Storage#blobAppendableUpload for gRPC Transport (<a href="https://github.com/googleapis/java-storage/commit/ba70fd8495ee81081dd7a9acbf49b56d296b7d1a" rel="noreferrer noopener">ba70fd8</a>)</li>
<li>add @BetaApi Storage#blobAppendableUpload for gRPC Transport (<a href="https://github.com/googleapis/java-storage/commit/95d46a581be8f1b2aafc137257ddb8aa48009707" rel="noreferrer noopener">95d46a5</a>)</li>
<li>add @BetaApi Storage#blobAppendableUpload for gRPC Transport (<a href="https://github.com/googleapis/java-storage/commit/413d65fe73ae4f5e360f75b22a36b57b1aac1b87" rel="noreferrer noopener">413d65f</a>)</li>
<li>add @BetaApi Storage#blobAppendableUpload for gRPC Transport (<a href="https://github.com/googleapis/java-storage/commit/52639da2676476c734df496bd92054c62f60a226" rel="noreferrer noopener">52639da</a>)</li>
<li>add @BetaApi Storage#blobAppendableUpload for gRPC Transport (<a href="https://github.com/googleapis/java-storage/commit/961f3cb7c1f83eff6a01c6e283f8c2faf47822ee" rel="noreferrer noopener">961f3cb</a>)</li>
<li>add @BetaApi Storage#blobAppendableUpload for gRPC Transport (<a href="https://github.com/googleapis/java-storage/commit/98dbb02c8c8711219b087c6c702dbeeee5fdf27e" rel="noreferrer noopener">98dbb02</a>)</li>
<li>add @BetaApi Storage#blobAppendableUpload for gRPC Transport (<a href="https://github.com/googleapis/java-storage/commit/cbc22f22f27f07f4b2ca6bc50890d13fdf715663" rel="noreferrer noopener">cbc22f2</a>)</li>
<li>add @BetaApi Storage#blobAppendableUpload for gRPC Transport (<a href="https://github.com/googleapis/java-storage/commit/f7c37f576bd801ab15926aaeda6f676050a6a442" rel="noreferrer noopener">f7c37f5</a>)</li>
<li>add @BetaApi Storage#blobAppendableUpload for gRPC Transport (<a href="https://github.com/googleapis/java-storage/commit/a7a894505144333e9ad28fbe0faf840985414f07" rel="noreferrer noopener">a7a8945</a>)</li>
<li>add @BetaApi Storage#blobAppendableUpload for gRPC Transport (<a href="https://github.com/googleapis/java-storage/commit/26db9e356c4c6b12d2defd587c169d34529ec37e" rel="noreferrer noopener">26db9e3</a>)</li>
<li>add @BetaApi Storage#blobAppendableUpload for gRPC Transport (<a href="https://github.com/googleapis/java-storage/commit/3ca4123a7c307246393f8f441e3b8d623806fe28" rel="noreferrer noopener">3ca4123</a>)</li>
<li>add @BetaApi Storage#blobAppendableUpload for gRPC Transport (<a href="https://github.com/googleapis/java-storage/commit/8553cb9d6153c48f0634a24bdbac9c9f1306e1dc" rel="noreferrer noopener">8553cb9</a>)</li>
<li>add @BetaApi Storage#blobAppendableUpload for gRPC Transport (<a href="https://github.com/googleapis/java-storage/commit/758756fce213ad0fe8ef3127d2bb55b1e2f8a7aa" rel="noreferrer noopener">758756f</a>)</li>
<li>add @BetaApi Storage#blobAppendableUpload for gRPC Transport (<a href="https://github.com/googleapis/java-storage/commit/065d2491cfb19a66bba36a97e2e80c37d6090240" rel="noreferrer noopener">065d249</a>)</li>
<li>add @BetaApi Storage#blobAppendableUpload for gRPC Transport (<a href="https://github.com/googleapis/java-storage/commit/61824e6a36b48b7caeb66b88436fa645a4a0f01a" rel="noreferrer noopener">61824e6</a>)</li>
<li>add @BetaApi Storage#blobAppendableUpload for gRPC Transport (<a href="https://github.com/googleapis/java-storage/commit/67482f7a79eea2d6b16c27b54a4f9d82fb753a69" rel="noreferrer noopener">67482f7</a>)</li>
<li>add @BetaApi Storage#blobAppendableUpload for gRPC Transport (<a href="https://github.com/googleapis/java-storage/commit/d540a830f341e06dd912b2369f0564dd7f0aea7a" rel="noreferrer noopener">d540a83</a>)</li>
<li>add @BetaApi Storage#blobAppendableUpload for gRPC Transport (<a href="https://github.com/googleapis/java-storage/commit/8e516e6a205383c32f4de075bc3494512c7164b7" rel="noreferrer noopener">8e516e6</a>)</li>
<li>add @BetaApi Storage#blobAppendableUpload for gRPC Transport (<a href="https://github.com/googleapis/java-storage/commit/0a2fac5ba741198496538ae1047d59d1ca3c22ea" rel="noreferrer noopener">0a2fac5</a>)</li>
<li>add @BetaApi Storage#blobAppendableUpload for gRPC Transport (<a href="https://github.com/googleapis/java-storage/commit/35c2fbfddf4006d84d4d51d5235730a0e109f2a0" rel="noreferrer noopener">35c2fbf</a>)</li>
<li>add @BetaApi Storage#blobAppendableUpload for gRPC Transport (<a href="https://github.com/googleapis/java-storage/commit/e5e11078e52746f5704f2860a26ce9adf5b8699e" rel="noreferrer noopener">e5e1107</a>)</li>
<li>add @BetaApi Storage#blobAppendableUpload for gRPC Transport (<a href="https://github.com/googleapis/java-storage/commit/79bea2c0f207bc50657566c8da1e7281719bde53" rel="noreferrer noopener">79bea2c</a>)</li>
<li>add @BetaApi Storage#blobAppendableUpload for gRPC Transport (<a href="https://github.com/googleapis/java-storage/commit/9416a8fad09931bbcd048f10e305116d5f45be26" rel="noreferrer noopener">9416a8f</a>)</li>
<li>add @BetaApi Storage#blobAppendableUpload for gRPC Transport (<a href="https://github.com/googleapis/java-storage/commit/411615de9a22493c0dd485c93deaea2da236027a" rel="noreferrer noopener">411615d</a>)</li>
<li>add @BetaApi Storage#blobAppendableUpload for gRPC Transport (<a href="https://github.com/googleapis/java-storage/commit/51af43ec08baac82a321d84ec423f0975d0e5916" rel="noreferrer noopener">51af43e</a>)</li>
<li>add @BetaApi Storage#blobAppendableUpload for gRPC Transport (<a href="https://github.com/googleapis/java-storage/commit/0bfb9ff636458b7983363cc46def051a38aacd72" rel="noreferrer noopener">0bfb9ff</a>)</li>
<li>add @BetaApi Storage#blobAppendableUpload for gRPC Transport (<a href="https://github.com/googleapis/java-storage/commit/c648d38866c5ebb165b05781b46287e0b79cdcc5" rel="noreferrer noopener">c648d38</a>)</li>
<li>add @BetaApi Storage#blobAppendableUpload for gRPC Transport (<a href="https://github.com/googleapis/java-storage/commit/b8dda33a9628e5b6f774ff242a725b8031130118" rel="noreferrer noopener">b8dda33</a>)</li>
<li>add @BetaApi Storage#blobAppendableUpload for gRPC Transport (<a href="https://github.com/googleapis/java-storage/commit/264683e1829fe2fca84a6ffd8c1b835228f0a79e" rel="noreferrer noopener">264683e</a>)</li>
<li>add @BetaApi Storage#blobAppendableUpload for gRPC Transport (<a href="https://github.com/googleapis/java-storage/commit/c653bb657290306b48a48a2c25f988328d8f7934" rel="noreferrer noopener">c653bb6</a>)</li>
<li>add @BetaApi Storage#blobAppendableUpload for gRPC Transport (<a href="https://github.com/googleapis/java-storage/commit/24be97d755eafd1ae2989633ce9059b4ea385eb8" rel="noreferrer noopener">24be97d</a>)</li>
<li>add @BetaApi Storage#blobAppendableUpload for gRPC Transport (<a href="https://github.com/googleapis/java-storage/commit/a0535c5ab6ac566e6b2d143f25ef57e742121b69" rel="noreferrer noopener">a0535c5</a>)</li>
<li>add @BetaApi Storage#blobAppendableUpload for gRPC Transport (<a href="https://github.com/googleapis/java-storage/commit/be3be3f895b651ae36acb07d53c21a2241d56df1" rel="noreferrer noopener">be3be3f</a>)</li>
<li>add @BetaApi Storage#blobAppendableUpload for gRPC Transport (<a href="https://github.com/googleapis/java-storage/commit/ec590781093686ba44f1bf5c1960226be2ad7c97" rel="noreferrer noopener">ec59078</a>)</li>
<li>add @BetaApi Storage#blobReadSession for gRPC Transport (<a href="https://github.com/googleapis/java-storage/commit/62b62482c10d79c9f7d1b7c6cedd9e7d422a58ad" rel="noreferrer noopener">62b6248</a>)</li>
<li>add @BetaApi Storage#blobReadSession for gRPC Transport (<a href="https://github.com/googleapis/java-storage/commit/c3a0aaa68f9ee64d850ef5d7cd1c7bea01113503" rel="noreferrer noopener">c3a0aaa</a>)</li>
<li>add @BetaApi Storage#blobReadSession for gRPC Transport (<a href="https://github.com/googleapis/java-storage/commit/fac7839739bcf5fb0e63fb39b02b331206cc3630" rel="noreferrer noopener">fac7839</a>)</li>
<li>add @BetaApi Storage#blobReadSession for gRPC Transport (<a href="https://github.com/googleapis/java-storage/commit/8332e1b3636bdbbd4e550053725e7ab040bff463" rel="noreferrer noopener">8332e1b</a>)</li>
<li>add @BetaApi Storage#blobReadSession for gRPC Transport (<a href="https://github.com/googleapis/java-storage/commit/e4688a00b7f35a28dd079606b7fdd36851564834" rel="noreferrer noopener">e4688a0</a>)</li>
<li>add @BetaApi Storage#blobReadSession for gRPC Transport (<a href="https://github.com/googleapis/java-storage/commit/b426e7d3d57f0e147bfc4dda0319665130c970a1" rel="noreferrer noopener">b426e7d</a>)</li>
<li>add @BetaApi Storage#blobReadSession for gRPC Transport (<a href="https://github.com/googleapis/java-storage/commit/c601cca381881d4ef52b851fe8edd13037688b9e" rel="noreferrer noopener">c601cca</a>)</li>
<li>add @BetaApi Storage#blobReadSession for gRPC Transport (<a href="https://github.com/googleapis/java-storage/commit/c58fe1f62ebdaab1ea74de1d05c0b2e6500994bf" rel="noreferrer noopener">c58fe1f</a>)</li>
<li>add @BetaApi Storage#blobReadSession for gRPC Transport (<a href="https://github.com/googleapis/java-storage/commit/616256aa5850e625faf6f74996dc40c911050952" rel="noreferrer noopener">616256a</a>)</li>
<li>add @BetaApi Storage#blobReadSession for gRPC Transport (<a href="https://github.com/googleapis/java-storage/commit/ba3af58df8d296bfc6290107e595219472a16861" rel="noreferrer noopener">ba3af58</a>)</li>
<li>add @BetaApi Storage#blobReadSession for gRPC Transport (<a href="https://github.com/googleapis/java-storage/commit/e12d2ad9bd301bbcb4ac227a8327fd1754205595" rel="noreferrer noopener">e12d2ad</a>)</li>
<li>add @BetaApi Storage#blobReadSession for gRPC Transport (<a href="https://github.com/googleapis/java-storage/commit/d6044a1c47345b18a018829e272612bc5c52f4b9" rel="noreferrer noopener">d6044a1</a>)</li>
<li>add @BetaApi Storage#blobReadSession for gRPC Transport (<a href="https://github.com/googleapis/java-storage/commit/eebc6c6700d2b94b320777c2bd68377570d3c6da" rel="noreferrer noopener">eebc6c6</a>)</li>
<li>add @BetaApi Storage#blobReadSession for gRPC Transport (<a href="https://github.com/googleapis/java-storage/commit/12507e2172b8b59b10e98eb8dda9d1c5050a647f" rel="noreferrer noopener">12507e2</a>)</li>
<li>add @BetaApi Storage#blobReadSession for gRPC Transport (<a href="https://github.com/googleapis/java-storage/commit/58557a054e52fde1c33b8817fbb3f36d41665d9f" rel="noreferrer noopener">58557a0</a>)</li>
<li>add @BetaApi Storage#blobReadSession for gRPC Transport (<a href="https://github.com/googleapis/java-storage/commit/c109fdbe515d62bf152bba9803fb25e388656a24" rel="noreferrer noopener">c109fdb</a>)</li>
<li>add @BetaApi Storage#blobReadSession for gRPC Transport (<a href="https://github.com/googleapis/java-storage/commit/d98ecc7df39142ea90e51b47f42dffad0ac03c24" rel="noreferrer noopener">d98ecc7</a>)</li>
<li>add @BetaApi Storage#blobReadSession for gRPC Transport (<a href="https://github.com/googleapis/java-storage/commit/6858a9dac8bd622b214c8b9fa9a180b95c2a092d" rel="noreferrer noopener">6858a9d</a>)</li>
<li>add @BetaApi Storage#blobReadSession for gRPC Transport (<a href="https://github.com/googleapis/java-storage/commit/bb7e1b45822741b7d3d470a1e0fa350a963841bf" rel="noreferrer noopener">bb7e1b4</a>)</li>
<li>add @BetaApi Storage#blobReadSession for gRPC Transport (<a href="https://github.com/googleapis/java-storage/commit/e89ae2757578adc099442e2b7844949c666468c8" rel="noreferrer noopener">e89ae27</a>)</li>
<li>add @BetaApi Storage#blobReadSession for gRPC Transport (<a href="https://github.com/googleapis/java-storage/commit/8beaa0353f51846cd902ef1568bd1bb8b4936b68" rel="noreferrer noopener">8beaa03</a>)</li>
<li>add @BetaApi Storage#blobReadSession for gRPC Transport (<a href="https://github.com/googleapis/java-storage/commit/ff8fd8fdbd78b7cf4b0dad70d93cd6aeaadb0a03" rel="noreferrer noopener">ff8fd8f</a>)</li>
<li>add @BetaApi Storage#blobReadSession for gRPC Transport (<a href="https://github.com/googleapis/java-storage/commit/944e0bc57be2e04df0358b85b43167fc4ea0bcfe" rel="noreferrer noopener">944e0bc</a>)</li>
<li>add @BetaApi Storage#blobReadSession for gRPC Transport (<a href="https://github.com/googleapis/java-storage/commit/eb8c5c896c758d36eb114143fb79be74f28f0232" rel="noreferrer noopener">eb8c5c8</a>)</li>
<li>add @BetaApi Storage#blobReadSession for gRPC Transport (<a href="https://github.com/googleapis/java-storage/commit/50e4589dc0e6ab88fbe869ba4b3a959d2dcfec2b" rel="noreferrer noopener">50e4589</a>)</li>
<li>add @BetaApi Storage#blobReadSession for gRPC Transport (<a href="https://github.com/googleapis/java-storage/commit/a7519715f73b11659608d97bf95eeb690e5f6a44" rel="noreferrer noopener">a751971</a>)</li>
<li>add @BetaApi Storage#blobReadSession for gRPC Transport (<a href="https://github.com/googleapis/java-storage/commit/befff3b4b2a3b8da70b514f6489ae6a690e419c0" rel="noreferrer noopener">befff3b</a>)</li>
<li>add @BetaApi Storage#blobReadSession for gRPC Transport (<a href="https://github.com/googleapis/java-storage/commit/ac950ada45d0408199249a25f93e0c5b0a12ab12" rel="noreferrer noopener">ac950ad</a>)</li>
<li>add @BetaApi Storage#blobReadSession for gRPC Transport (<a href="https://github.com/googleapis/java-storage/commit/f3817950fb2ded13904c549718f6baeb73ad5e85" rel="noreferrer noopener">f381795</a>)</li>
<li>add @BetaApi Storage#blobReadSession for gRPC Transport (<a href="https://github.com/googleapis/java-storage/commit/84ffb6d432e75daf89b4910af3c7f50a39dcb323" rel="noreferrer noopener">84ffb6d</a>)</li>
<li>add @BetaApi Storage#blobReadSession for gRPC Transport (<a href="https://github.com/googleapis/java-storage/commit/b95e51d89101ea4683c944856cb7c19ad6b4b514" rel="noreferrer noopener">b95e51d</a>)</li>
<li>add @BetaApi Storage#blobReadSession for gRPC Transport (<a href="https://github.com/googleapis/java-storage/commit/03aa3e735f941ec896c47d4d4ea1bf0700a0b626" rel="noreferrer noopener">03aa3e7</a>)</li>
<li>add @BetaApi Storage#blobReadSession for gRPC Transport (<a href="https://github.com/googleapis/java-storage/commit/23f9a793b69d2d34abecb31f4628fc07923c5e2d" rel="noreferrer noopener">23f9a79</a>)</li>
<li>add @BetaApi Storage#blobReadSession for gRPC Transport (<a href="https://github.com/googleapis/java-storage/commit/e2a3e3c2ca8e323f0e99d2cc67ce1cd1b034a049" rel="noreferrer noopener">e2a3e3c</a>)</li>
<li>add @BetaApi Storage#blobReadSession for gRPC Transport (<a href="https://github.com/googleapis/java-storage/commit/bee43087ec13eadca435ebccdca56d4ca39e5a57" rel="noreferrer noopener">bee4308</a>)</li>
<li>add @BetaApi Storage#blobReadSession for gRPC Transport (<a href="https://github.com/googleapis/java-storage/commit/28f27592df6b5a70db3e9cfabaa23ab2b3c15680" rel="noreferrer noopener">28f2759</a>)</li>
<li>add @BetaApi Storage#blobReadSession for gRPC Transport (<a href="https://github.com/googleapis/java-storage/commit/775ad240569c3b77eb3ab0df023313e675eddf4b" rel="noreferrer noopener">775ad24</a>)</li>
<li>add @BetaApi Storage#blobReadSession for gRPC Transport (<a href="https://github.com/googleapis/java-storage/commit/f29d825d1521fb3ca8fe94f5904df8e356e3e68e" rel="noreferrer noopener">f29d825</a>)</li>
<li>add @BetaApi Storage#blobReadSession for gRPC Transport (<a href="https://github.com/googleapis/java-storage/commit/2e8a0eef40df70fab703c199a3b5b58c645bb2df" rel="noreferrer noopener">2e8a0ee</a>)</li>
<li>add @BetaApi Storage#blobReadSession for gRPC Transport (<a href="https://github.com/googleapis/java-storage/commit/5c2cf196c202d91618ebedf5ba7a26d8d21790d5" rel="noreferrer noopener">5c2cf19</a>)</li>
<li>add @BetaApi Storage#blobReadSession for gRPC Transport (<a href="https://github.com/googleapis/java-storage/commit/2431ee1a350c9c47b5dfa6da20c4b5788eb9388f" rel="noreferrer noopener">2431ee1</a>)</li>
<li>add @BetaApi Storage#blobReadSession for gRPC Transport (<a href="https://github.com/googleapis/java-storage/commit/aeb621ad08ef6369dbeba369a2345ba9a50e5218" rel="noreferrer noopener">aeb621a</a>)</li>
<li>add @BetaApi Storage#blobReadSession for gRPC Transport (<a href="https://github.com/googleapis/java-storage/commit/3d2520dd6686dd873a941ceabe602407ec7f8f96" rel="noreferrer noopener">3d2520d</a>)</li>
<li>add @BetaApi Storage#blobReadSession for gRPC Transport (<a href="https://github.com/googleapis/java-storage/commit/3e38109a734395cc9324e31d9473b3b7991232bc" rel="noreferrer noopener">3e38109</a>)</li>
<li>add @BetaApi Storage#blobReadSession for gRPC Transport (<a href="https://github.com/googleapis/java-storage/commit/8453281c53448323fb83f2dea076886c4a37ff92" rel="noreferrer noopener">8453281</a>)</li>
<li>add @BetaApi Storage#blobReadSession for gRPC Transport (<a href="https://github.com/googleapis/java-storage/commit/41708031863ea2b50b22c60d8a61f75a6c1f2de0" rel="noreferrer noopener">4170803</a>)</li>
<li>add @BetaApi Storage#blobReadSession for gRPC Transport (<a href="https://github.com/googleapis/java-storage/commit/f8e54b532a09b39d7690763dda1da640b3012cdd" rel="noreferrer noopener">f8e54b5</a>)</li>
<li>add @BetaApi Storage#blobReadSession for gRPC Transport (<a href="https://github.com/googleapis/java-storage/commit/85049b97b3cc8a82bb28d75295e1cdf5e3cc06ae" rel="noreferrer noopener">85049b9</a>)</li>
<li>add @BetaApi Storage#blobReadSession for gRPC Transport (<a href="https://github.com/googleapis/java-storage/commit/2a92e359ce1463306bef3415dde4af69ed515873" rel="noreferrer noopener">2a92e35</a>)</li>
<li>add @BetaApi Storage#blobReadSession for gRPC Transport (<a href="https://github.com/googleapis/java-storage/commit/3b195fecc165896fc7654744e82247127e39e535" rel="noreferrer noopener">3b195fe</a>)</li>
<li>add @BetaApi Storage#blobReadSession for gRPC Transport (<a href="https://github.com/googleapis/java-storage/commit/ae31163618704a1c37394ccc5b4213773f149ac5" rel="noreferrer noopener">ae31163</a>)</li>
<li>add @BetaApi Storage#blobReadSession for gRPC Transport (<a href="https://github.com/googleapis/java-storage/commit/b1499d6b64d82c54e339f2af86422ae0a8aa766b" rel="noreferrer noopener">b1499d6</a>)</li>
<li>add @BetaApi Storage#blobReadSession for gRPC Transport (<a href="https://github.com/googleapis/java-storage/commit/1085216acd5fc3191ff043615b0f0b52730e56e2" rel="noreferrer noopener">1085216</a>)</li>
<li>add @BetaApi Storage#blobReadSession for gRPC Transport (<a href="https://github.com/googleapis/java-storage/commit/36160978c767c828921fabc1314c89a81eb612b9" rel="noreferrer noopener">3616097</a>)</li>
<li>add @BetaApi Storage#blobReadSession for gRPC Transport (<a href="https://github.com/googleapis/java-storage/commit/6a8099482558b3486b008af632f18094e6461797" rel="noreferrer noopener">6a80994</a>)</li>
<li>add @BetaApi Storage#blobReadSession for gRPC Transport (<a href="https://github.com/googleapis/java-storage/commit/69d01d41b731f6c03049c24b954704a672400cbd" rel="noreferrer noopener">69d01d4</a>)</li>
<li>add @BetaApi Storage#blobReadSession for gRPC Transport (<a href="https://github.com/googleapis/java-storage/commit/fa0df985586466f73aa7bca9a4982402aa802bc8" rel="noreferrer noopener">fa0df98</a>)</li>
<li>add @BetaApi Storage#blobReadSession for gRPC Transport (<a href="https://github.com/googleapis/java-storage/commit/3eec2e327f4aad1bb46f3389e76d02b55a31ee43" rel="noreferrer noopener">3eec2e3</a>)</li>
<li>add @BetaApi Storage#blobReadSession for gRPC Transport (<a href="https://github.com/googleapis/java-storage/commit/1bf497e3ce2105734daa262589550aca29eee0f2" rel="noreferrer noopener">1bf497e</a>)</li>
<li>add @BetaApi Storage#blobReadSession for gRPC Transport (<a href="https://github.com/googleapis/java-storage/commit/bc7a931542b22589c39d0be0980eb116dbf2a0dc" rel="noreferrer noopener">bc7a931</a>)</li>
<li>add @BetaApi Storage#blobReadSession for gRPC Transport (<a href="https://github.com/googleapis/java-storage/commit/c6f5b57e3cdd3747121f50284bca7f823e34f329" rel="noreferrer noopener">c6f5b57</a>)</li>
<li>add @BetaApi Storage#blobReadSession for gRPC Transport (<a href="https://github.com/googleapis/java-storage/commit/8d4d7a3caed4711a59a9509347ed634a783e390a" rel="noreferrer noopener">8d4d7a3</a>)</li>
<li>add @BetaApi Storage#blobReadSession for gRPC Transport (<a href="https://github.com/googleapis/java-storage/commit/affb14fbb2738c687a885ad4491e57da7808cb9b" rel="noreferrer noopener">affb14f</a>)</li>
<li>add @BetaApi Storage#blobReadSession for gRPC Transport (<a href="https://github.com/googleapis/java-storage/commit/09c426b42d4d72d547312e68428373bc6edfc585" rel="noreferrer noopener">09c426b</a>)</li>
<li>add @BetaApi Storage#blobReadSession for gRPC Transport (<a href="https://github.com/googleapis/java-storage/commit/af5227949285419add4398e62dd7276e2e9038f4" rel="noreferrer noopener">af52279</a>)</li>
<li>add @BetaApi Storage#blobReadSession for gRPC Transport (<a href="https://github.com/googleapis/java-storage/commit/72491e711054572d90c5b673a128bf5294f07daf" rel="noreferrer noopener">72491e7</a>)</li>
<li>add @BetaApi Storage#blobReadSession for gRPC Transport (<a href="https://github.com/googleapis/java-storage/commit/2968790b77bae8751ae56c306e736c99409da8a7" rel="noreferrer noopener">2968790</a>)</li>
<li>add @BetaApi Storage#blobReadSession for gRPC Transport (<a href="https://github.com/googleapis/java-storage/commit/a4d919ed36d3095653b22abb9bc607e58d39ddaa" rel="noreferrer noopener">a4d919e</a>)</li>
<li>add @BetaApi Storage#blobReadSession for gRPC Transport (<a href="https://github.com/googleapis/java-storage/commit/f437c0a427d234a4d7afc486e1480e64695e7785" rel="noreferrer noopener">f437c0a</a>)</li>
<li>add @BetaApi Storage#blobReadSession for gRPC Transport (<a href="https://github.com/googleapis/java-storage/commit/ba70fd8495ee81081dd7a9acbf49b56d296b7d1a" rel="noreferrer noopener">ba70fd8</a>)</li>
<li>add @BetaApi Storage#blobReadSession for gRPC Transport (<a href="https://github.com/googleapis/java-storage/commit/95d46a581be8f1b2aafc137257ddb8aa48009707" rel="noreferrer noopener">95d46a5</a>)</li>
<li>add @BetaApi Storage#blobReadSession for gRPC Transport (<a href="https://github.com/googleapis/java-storage/commit/413d65fe73ae4f5e360f75b22a36b57b1aac1b87" rel="noreferrer noopener">413d65f</a>)</li>
<li>add @BetaApi Storage#blobReadSession for gRPC Transport (<a href="https://github.com/googleapis/java-storage/commit/52639da2676476c734df496bd92054c62f60a226" rel="noreferrer noopener">52639da</a>)</li>
<li>add @BetaApi Storage#blobReadSession for gRPC Transport (<a href="https://github.com/googleapis/java-storage/commit/961f3cb7c1f83eff6a01c6e283f8c2faf47822ee" rel="noreferrer noopener">961f3cb</a>)</li>
<li>add @BetaApi Storage#blobReadSession for gRPC Transport (<a href="https://github.com/googleapis/java-storage/commit/98dbb02c8c8711219b087c6c702dbeeee5fdf27e" rel="noreferrer noopener">98dbb02</a>)</li>
<li>add @BetaApi Storage#blobReadSession for gRPC Transport (<a href="https://github.com/googleapis/java-storage/commit/cbc22f22f27f07f4b2ca6bc50890d13fdf715663" rel="noreferrer noopener">cbc22f2</a>)</li>
<li>add @BetaApi Storage#blobReadSession for gRPC Transport (<a href="https://github.com/googleapis/java-storage/commit/f7c37f576bd801ab15926aaeda6f676050a6a442" rel="noreferrer noopener">f7c37f5</a>)</li>
<li>add @BetaApi Storage#blobReadSession for gRPC Transport (<a href="https://github.com/googleapis/java-storage/commit/a7a894505144333e9ad28fbe0faf840985414f07" rel="noreferrer noopener">a7a8945</a>)</li>
<li>add @BetaApi Storage#blobReadSession for gRPC Transport (<a href="https://github.com/googleapis/java-storage/commit/26db9e356c4c6b12d2defd587c169d34529ec37e" rel="noreferrer noopener">26db9e3</a>)</li>
<li>add @BetaApi Storage#blobReadSession for gRPC Transport (<a href="https://github.com/googleapis/java-storage/commit/3ca4123a7c307246393f8f441e3b8d623806fe28" rel="noreferrer noopener">3ca4123</a>)</li>
<li>add @BetaApi Storage#blobReadSession for gRPC Transport (<a href="https://github.com/googleapis/java-storage/commit/8553cb9d6153c48f0634a24bdbac9c9f1306e1dc" rel="noreferrer noopener">8553cb9</a>)</li>
<li>add @BetaApi Storage#blobReadSession for gRPC Transport (<a href="https://github.com/googleapis/java-storage/commit/758756fce213ad0fe8ef3127d2bb55b1e2f8a7aa" rel="noreferrer noopener">758756f</a>)</li>
<li>add @BetaApi Storage#blobReadSession for gRPC Transport (<a href="https://github.com/googleapis/java-storage/commit/065d2491cfb19a66bba36a97e2e80c37d6090240" rel="noreferrer noopener">065d249</a>)</li>
<li>add @BetaApi Storage#blobReadSession for gRPC Transport (<a href="https://github.com/googleapis/java-storage/commit/61824e6a36b48b7caeb66b88436fa645a4a0f01a" rel="noreferrer noopener">61824e6</a>)</li>
<li>add @BetaApi Storage#blobReadSession for gRPC Transport (<a href="https://github.com/googleapis/java-storage/commit/67482f7a79eea2d6b16c27b54a4f9d82fb753a69" rel="noreferrer noopener">67482f7</a>)</li>
<li>add @BetaApi Storage#blobReadSession for gRPC Transport (<a href="https://github.com/googleapis/java-storage/commit/d540a830f341e06dd912b2369f0564dd7f0aea7a" rel="noreferrer noopener">d540a83</a>)</li>
<li>add @BetaApi Storage#blobReadSession for gRPC Transport (<a href="https://github.com/googleapis/java-storage/commit/8e516e6a205383c32f4de075bc3494512c7164b7" rel="noreferrer noopener">8e516e6</a>)</li>
<li>add @BetaApi Storage#blobReadSession for gRPC Transport (<a href="https://github.com/googleapis/java-storage/commit/0a2fac5ba741198496538ae1047d59d1ca3c22ea" rel="noreferrer noopener">0a2fac5</a>)</li>
<li>add @BetaApi Storage#blobReadSession for gRPC Transport (<a href="https://github.com/googleapis/java-storage/commit/35c2fbfddf4006d84d4d51d5235730a0e109f2a0" rel="noreferrer noopener">35c2fbf</a>)</li>
<li>add @BetaApi Storage#blobReadSession for gRPC Transport (<a href="https://github.com/googleapis/java-storage/commit/e5e11078e52746f5704f2860a26ce9adf5b8699e" rel="noreferrer noopener">e5e1107</a>)</li>
<li>add @BetaApi Storage#blobReadSession for gRPC Transport (<a href="https://github.com/googleapis/java-storage/commit/79bea2c0f207bc50657566c8da1e7281719bde53" rel="noreferrer noopener">79bea2c</a>)</li>
<li>add @BetaApi Storage#blobReadSession for gRPC Transport (<a href="https://github.com/googleapis/java-storage/commit/9416a8fad09931bbcd048f10e305116d5f45be26" rel="noreferrer noopener">9416a8f</a>)</li>
<li>add @BetaApi Storage#blobReadSession for gRPC Transport (<a href="https://github.com/googleapis/java-storage/commit/411615de9a22493c0dd485c93deaea2da236027a" rel="noreferrer noopener">411615d</a>)</li>
<li>add @BetaApi Storage#blobReadSession for gRPC Transport (<a href="https://github.com/googleapis/java-storage/commit/51af43ec08baac82a321d84ec423f0975d0e5916" rel="noreferrer noopener">51af43e</a>)</li>
<li>add @BetaApi Storage#blobReadSession for gRPC Transport (<a href="https://github.com/googleapis/java-storage/commit/0bfb9ff636458b7983363cc46def051a38aacd72" rel="noreferrer noopener">0bfb9ff</a>)</li>
<li>add @BetaApi Storage#blobReadSession for gRPC Transport (<a href="https://github.com/googleapis/java-storage/commit/c648d38866c5ebb165b05781b46287e0b79cdcc5" rel="noreferrer noopener">c648d38</a>)</li>
<li>add @BetaApi Storage#blobReadSession for gRPC Transport (<a href="https://github.com/googleapis/java-storage/commit/b8dda33a9628e5b6f774ff242a725b8031130118" rel="noreferrer noopener">b8dda33</a>)</li>
<li>add @BetaApi Storage#blobReadSession for gRPC Transport (<a href="https://github.com/googleapis/java-storage/commit/264683e1829fe2fca84a6ffd8c1b835228f0a79e" rel="noreferrer noopener">264683e</a>)</li>
<li>add @BetaApi Storage#blobReadSession for gRPC Transport (<a href="https://github.com/googleapis/java-storage/commit/c653bb657290306b48a48a2c25f988328d8f7934" rel="noreferrer noopener">c653bb6</a>)</li>
<li>add @BetaApi Storage#blobReadSession for gRPC Transport (<a href="https://github.com/googleapis/java-storage/commit/24be97d755eafd1ae2989633ce9059b4ea385eb8" rel="noreferrer noopener">24be97d</a>)</li>
<li>add @BetaApi Storage#blobReadSession for gRPC Transport (<a href="https://github.com/googleapis/java-storage/commit/a0535c5ab6ac566e6b2d143f25ef57e742121b69" rel="noreferrer noopener">a0535c5</a>)</li>
<li>add @BetaApi Storage#blobReadSession for gRPC Transport (<a href="https://github.com/googleapis/java-storage/commit/be3be3f895b651ae36acb07d53c21a2241d56df1" rel="noreferrer noopener">be3be3f</a>)</li>
<li>add @BetaApi Storage#blobReadSession for gRPC Transport (<a href="https://github.com/googleapis/java-storage/commit/ec590781093686ba44f1bf5c1960226be2ad7c97" rel="noreferrer noopener">ec59078</a>)</li>
<li>Add Anywhere cache control APIs (<a href="https://github.com/googleapis/java-storage/commit/81c8c611ab51a706d63670dff86db5bfd04ef544" rel="noreferrer noopener">81c8c61</a>)</li>
<li>Add Anywhere cache control APIs (<a href="https://github.com/googleapis/java-storage/commit/81c8c611ab51a706d63670dff86db5bfd04ef544" rel="noreferrer noopener">81c8c61</a>)</li>
<li>add AppendableUploadWriteableByteChannel#flush() (<a href="https://github.com/googleapis/java-storage/issues/3261" rel="noreferrer noopener">#3261</a>) (<a href="https://github.com/googleapis/java-storage/commit/950c56f0e622d75faff51257d5cbc9f3ddc7e1ce" rel="noreferrer noopener">950c56f</a>)</li>
<li>add BlobInfo.ObjectContexts (<a href="https://github.com/googleapis/java-storage/issues/3259" rel="noreferrer noopener">#3259</a>) (<a href="https://github.com/googleapis/java-storage/commit/485aefd3047c52c98d8bd913033c8aee1473e988" rel="noreferrer noopener">485aefd</a>)</li>
<li>add BucketInfo.IpFilter (<a href="https://github.com/googleapis/java-storage/issues/3177" rel="noreferrer noopener">#3177</a>) (<a href="https://github.com/googleapis/java-storage/commit/14a91ec208067e6afc55923cffda5f69aa33d8b4" rel="noreferrer noopener">14a91ec</a>)</li>
<li>add default end-to-end checksumming for JournalingBlobWriteSessionConfig <a href="https://github.com/googleapis/java-storage/issues/3180" rel="noreferrer noopener">#3180</a> (<a href="https://github.com/googleapis/java-storage/commit/fa0f6a03380af78e239bd0079267649ba4138f38" rel="noreferrer noopener">fa0f6a0</a>)</li>
<li>add default end-to-end crc32c checksumming for several upload methods via grpc transport <a href="https://github.com/googleapis/java-storage/issues/3176" rel="noreferrer noopener">#3176</a> (<a href="https://github.com/googleapis/java-storage/commit/fa0f6a03380af78e239bd0079267649ba4138f38" rel="noreferrer noopener">fa0f6a0</a>)</li>
<li>add MinFlushSizeFlushPolicy#withMaxPendingBytes(long) (<a href="https://github.com/googleapis/java-storage/issues/3231" rel="noreferrer noopener">#3231</a>) (<a href="https://github.com/googleapis/java-storage/commit/7bd73d3104f5c47299f5a9c8d68dec82933eeda5" rel="noreferrer noopener">7bd73d3</a>)</li>
<li>add MoveObject RPC (<a href="https://github.com/googleapis/java-storage/commit/34b8ac4239bab67b53c73050d2341615254a3ae0" rel="noreferrer noopener">34b8ac4</a>)</li>
<li>add new Options to allow per method header values (<a href="https://github.com/googleapis/java-storage/issues/2941" rel="noreferrer noopener">#2941</a>) (<a href="https://github.com/googleapis/java-storage/commit/297802d1715e3289dd720fba851c563004b8c5f2" rel="noreferrer noopener">297802d</a>)</li>
<li>add new preview Bucket encryption policy configuration (<a href="https://github.com/googleapis/java-storage/issues/3204" rel="noreferrer noopener">#3204</a>) (<a href="https://github.com/googleapis/java-storage/commit/7b250dd53cfa29bbb6a0a4cb4a345aeb2dab5c86" rel="noreferrer noopener">7b250dd</a>)</li>
<li>add new Storage#moveBlob method to atomically rename an object (<a href="https://github.com/googleapis/java-storage/issues/2882" rel="noreferrer noopener">#2882</a>) (<a href="https://github.com/googleapis/java-storage/commit/c49fd08582c7235919270c1dd4eb2ece6933d302" rel="noreferrer noopener">c49fd08</a>)</li>
<li>add per-message checksum validation for gRPC ReadObject operations (<a href="https://github.com/googleapis/java-storage/issues/3336" rel="noreferrer noopener">#3336</a>) (<a href="https://github.com/googleapis/java-storage/commit/6eef1b0f587b9f32041ac4bcef1a16b1b0bc4bb3" rel="noreferrer noopener">6eef1b0</a>)</li>
<li>add preview MultipartUploadClient#abortMultipartUpload https://github.com/googleapis/java-storage/pull/3361 (<a href="https://github.com/googleapis/java-storage/commit/160fa9af7aa492373a9d9b40f65a6c56d7cab5ef" rel="noreferrer noopener">160fa9a</a>)</li>
<li>add preview MultipartUploadClient#completeMultipartUpload https://github.com/googleapis/java-storage/pull/3372 (<a href="https://github.com/googleapis/java-storage/commit/160fa9af7aa492373a9d9b40f65a6c56d7cab5ef" rel="noreferrer noopener">160fa9a</a>)</li>
<li>add preview MultipartUploadClient#createMultipartUpload https://github.com/googleapis/java-storage/pull/3356 (<a href="https://github.com/googleapis/java-storage/commit/160fa9af7aa492373a9d9b40f65a6c56d7cab5ef" rel="noreferrer noopener">160fa9a</a>)</li>
<li>add preview MultipartUploadClient#listParts https://github.com/googleapis/java-storage/pull/3359 (<a href="https://github.com/googleapis/java-storage/commit/160fa9af7aa492373a9d9b40f65a6c56d7cab5ef" rel="noreferrer noopener">160fa9a</a>)</li>
<li>add preview MultipartUploadClient#uploadPart https://github.com/googleapis/java-storage/pull/3375 (<a href="https://github.com/googleapis/java-storage/commit/160fa9af7aa492373a9d9b40f65a6c56d7cab5ef" rel="noreferrer noopener">160fa9a</a>)</li>
<li>add preview MultipartUploadSettings (<a href="https://github.com/googleapis/java-storage/commit/160fa9af7aa492373a9d9b40f65a6c56d7cab5ef" rel="noreferrer noopener">160fa9a</a>)</li>
<li>add Storage.BlobListOption#includeTrailingDelimiter (<a href="https://github.com/googleapis/java-storage/issues/3038" rel="noreferrer noopener">#3038</a>) (<a href="https://github.com/googleapis/java-storage/commit/0b7a0dff91af0e22e84ba3ca08862141292b3b30" rel="noreferrer noopener">0b7a0df</a>)</li>
<li>add StorageChannelUtils to provide helper methods to perform blocking read/write to/from non-blocking channels (<a href="https://github.com/googleapis/java-storage/issues/3231" rel="noreferrer noopener">#3231</a>) (<a href="https://github.com/googleapis/java-storage/commit/7bd73d3104f5c47299f5a9c8d68dec82933eeda5" rel="noreferrer noopener">7bd73d3</a>)</li>
<li>expose BucketInfo.getProject as a BigInteger (<a href="https://github.com/googleapis/java-storage/issues/3119" rel="noreferrer noopener">#3119</a>) (<a href="https://github.com/googleapis/java-storage/commit/64bbb608033f757cb6e31e75a78740d8ed1dccab" rel="noreferrer noopener">64bbb60</a>), closes <a href="https://github.com/googleapis/java-storage/issues/3023" rel="noreferrer noopener">#3023</a> </li>
<li>implement improved retry context information (<a href="https://github.com/googleapis/java-storage/commit/62b62482c10d79c9f7d1b7c6cedd9e7d422a58ad" rel="noreferrer noopener">62b6248</a>)</li>
<li>implement improved retry context information (<a href="https://github.com/googleapis/java-storage/commit/c3a0aaa68f9ee64d850ef5d7cd1c7bea01113503" rel="noreferrer noopener">c3a0aaa</a>)</li>
<li>implement improved retry context information (<a href="https://github.com/googleapis/java-storage/commit/fac7839739bcf5fb0e63fb39b02b331206cc3630" rel="noreferrer noopener">fac7839</a>)</li>
<li>implement improved retry context information (<a href="https://github.com/googleapis/java-storage/commit/8332e1b3636bdbbd4e550053725e7ab040bff463" rel="noreferrer noopener">8332e1b</a>)</li>
<li>implement improved retry context information (<a href="https://github.com/googleapis/java-storage/commit/e4688a00b7f35a28dd079606b7fdd36851564834" rel="noreferrer noopener">e4688a0</a>)</li>
<li>implement improved retry context information (<a href="https://github.com/googleapis/java-storage/commit/b426e7d3d57f0e147bfc4dda0319665130c970a1" rel="noreferrer noopener">b426e7d</a>)</li>
<li>implement improved retry context information (<a href="https://github.com/googleapis/java-storage/commit/c601cca381881d4ef52b851fe8edd13037688b9e" rel="noreferrer noopener">c601cca</a>)</li>
<li>implement improved retry context information (<a href="https://github.com/googleapis/java-storage/commit/c58fe1f62ebdaab1ea74de1d05c0b2e6500994bf" rel="noreferrer noopener">c58fe1f</a>)</li>
<li>implement improved retry context information (<a href="https://github.com/googleapis/java-storage/commit/616256aa5850e625faf6f74996dc40c911050952" rel="noreferrer noopener">616256a</a>)</li>
<li>implement improved retry context information (<a href="https://github.com/googleapis/java-storage/commit/ba3af58df8d296bfc6290107e595219472a16861" rel="noreferrer noopener">ba3af58</a>)</li>
<li>implement improved retry context information (<a href="https://github.com/googleapis/java-storage/commit/e12d2ad9bd301bbcb4ac227a8327fd1754205595" rel="noreferrer noopener">e12d2ad</a>)</li>
<li>implement improved retry context information (<a href="https://github.com/googleapis/java-storage/commit/d6044a1c47345b18a018829e272612bc5c52f4b9" rel="noreferrer noopener">d6044a1</a>)</li>
<li>implement improved retry context information (<a href="https://github.com/googleapis/java-storage/commit/eebc6c6700d2b94b320777c2bd68377570d3c6da" rel="noreferrer noopener">eebc6c6</a>)</li>
<li>implement improved retry context information (<a href="https://github.com/googleapis/java-storage/commit/12507e2172b8b59b10e98eb8dda9d1c5050a647f" rel="noreferrer noopener">12507e2</a>)</li>
<li>implement improved retry context information (<a href="https://github.com/googleapis/java-storage/commit/58557a054e52fde1c33b8817fbb3f36d41665d9f" rel="noreferrer noopener">58557a0</a>)</li>
<li>implement improved retry context information (<a href="https://github.com/googleapis/java-storage/commit/c109fdbe515d62bf152bba9803fb25e388656a24" rel="noreferrer noopener">c109fdb</a>)</li>
<li>implement improved retry context information (<a href="https://github.com/googleapis/java-storage/commit/d98ecc7df39142ea90e51b47f42dffad0ac03c24" rel="noreferrer noopener">d98ecc7</a>)</li>
<li>implement improved retry context information (<a href="https://github.com/googleapis/java-storage/commit/6858a9dac8bd622b214c8b9fa9a180b95c2a092d" rel="noreferrer noopener">6858a9d</a>)</li>
<li>implement improved retry context information (<a href="https://github.com/googleapis/java-storage/commit/bb7e1b45822741b7d3d470a1e0fa350a963841bf" rel="noreferrer noopener">bb7e1b4</a>)</li>
<li>implement improved retry context information (<a href="https://github.com/googleapis/java-storage/commit/e89ae2757578adc099442e2b7844949c666468c8" rel="noreferrer noopener">e89ae27</a>)</li>
<li>implement improved retry context information (<a href="https://github.com/googleapis/java-storage/commit/8beaa0353f51846cd902ef1568bd1bb8b4936b68" rel="noreferrer noopener">8beaa03</a>)</li>
<li>implement improved retry context information (<a href="https://github.com/googleapis/java-storage/commit/ff8fd8fdbd78b7cf4b0dad70d93cd6aeaadb0a03" rel="noreferrer noopener">ff8fd8f</a>)</li>
<li>implement improved retry context information (<a href="https://github.com/googleapis/java-storage/commit/944e0bc57be2e04df0358b85b43167fc4ea0bcfe" rel="noreferrer noopener">944e0bc</a>)</li>
<li>implement improved retry context information (<a href="https://github.com/googleapis/java-storage/commit/eb8c5c896c758d36eb114143fb79be74f28f0232" rel="noreferrer noopener">eb8c5c8</a>)</li>
<li>implement improved retry context information (<a href="https://github.com/googleapis/java-storage/commit/50e4589dc0e6ab88fbe869ba4b3a959d2dcfec2b" rel="noreferrer noopener">50e4589</a>)</li>
<li>implement improved retry context information (<a href="https://github.com/googleapis/java-storage/commit/a7519715f73b11659608d97bf95eeb690e5f6a44" rel="noreferrer noopener">a751971</a>)</li>
<li>implement improved retry context information (<a href="https://github.com/googleapis/java-storage/commit/befff3b4b2a3b8da70b514f6489ae6a690e419c0" rel="noreferrer noopener">befff3b</a>)</li>
<li>implement improved retry context information (<a href="https://github.com/googleapis/java-storage/commit/ac950ada45d0408199249a25f93e0c5b0a12ab12" rel="noreferrer noopener">ac950ad</a>)</li>
<li>implement improved retry context information (<a href="https://github.com/googleapis/java-storage/commit/f3817950fb2ded13904c549718f6baeb73ad5e85" rel="noreferrer noopener">f381795</a>)</li>
<li>implement improved retry context information (<a href="https://github.com/googleapis/java-storage/commit/84ffb6d432e75daf89b4910af3c7f50a39dcb323" rel="noreferrer noopener">84ffb6d</a>)</li>
<li>implement improved retry context information (<a href="https://github.com/googleapis/java-storage/commit/b95e51d89101ea4683c944856cb7c19ad6b4b514" rel="noreferrer noopener">b95e51d</a>)</li>
<li>implement improved retry context information (<a href="https://github.com/googleapis/java-storage/commit/03aa3e735f941ec896c47d4d4ea1bf0700a0b626" rel="noreferrer noopener">03aa3e7</a>)</li>
<li>implement improved retry context information (<a href="https://github.com/googleapis/java-storage/commit/23f9a793b69d2d34abecb31f4628fc07923c5e2d" rel="noreferrer noopener">23f9a79</a>)</li>
<li>implement improved retry context information (<a href="https://github.com/googleapis/java-storage/commit/e2a3e3c2ca8e323f0e99d2cc67ce1cd1b034a049" rel="noreferrer noopener">e2a3e3c</a>)</li>
<li>implement improved retry context information (<a href="https://github.com/googleapis/java-storage/commit/bee43087ec13eadca435ebccdca56d4ca39e5a57" rel="noreferrer noopener">bee4308</a>)</li>
<li>implement improved retry context information (<a href="https://github.com/googleapis/java-storage/commit/28f27592df6b5a70db3e9cfabaa23ab2b3c15680" rel="noreferrer noopener">28f2759</a>)</li>
<li>implement improved retry context information (<a href="https://github.com/googleapis/java-storage/commit/775ad240569c3b77eb3ab0df023313e675eddf4b" rel="noreferrer noopener">775ad24</a>)</li>
<li>implement improved retry context information (<a href="https://github.com/googleapis/java-storage/commit/f29d825d1521fb3ca8fe94f5904df8e356e3e68e" rel="noreferrer noopener">f29d825</a>)</li>
<li>implement improved retry context information (<a href="https://github.com/googleapis/java-storage/commit/2e8a0eef40df70fab703c199a3b5b58c645bb2df" rel="noreferrer noopener">2e8a0ee</a>)</li>
<li>implement improved retry context information (<a href="https://github.com/googleapis/java-storage/commit/5c2cf196c202d91618ebedf5ba7a26d8d21790d5" rel="noreferrer noopener">5c2cf19</a>)</li>
<li>implement improved retry context information (<a href="https://github.com/googleapis/java-storage/commit/2431ee1a350c9c47b5dfa6da20c4b5788eb9388f" rel="noreferrer noopener">2431ee1</a>)</li>
<li>implement improved retry context information (<a href="https://github.com/googleapis/java-storage/commit/aeb621ad08ef6369dbeba369a2345ba9a50e5218" rel="noreferrer noopener">aeb621a</a>)</li>
<li>implement improved retry context information (<a href="https://github.com/googleapis/java-storage/commit/3d2520dd6686dd873a941ceabe602407ec7f8f96" rel="noreferrer noopener">3d2520d</a>)</li>
<li>implement improved retry context information (<a href="https://github.com/googleapis/java-storage/commit/3e38109a734395cc9324e31d9473b3b7991232bc" rel="noreferrer noopener">3e38109</a>)</li>
<li>implement improved retry context information (<a href="https://github.com/googleapis/java-storage/commit/8453281c53448323fb83f2dea076886c4a37ff92" rel="noreferrer noopener">8453281</a>)</li>
<li>implement improved retry context information (<a href="https://github.com/googleapis/java-storage/commit/41708031863ea2b50b22c60d8a61f75a6c1f2de0" rel="noreferrer noopener">4170803</a>)</li>
<li>implement improved retry context information (<a href="https://github.com/googleapis/java-storage/commit/f8e54b532a09b39d7690763dda1da640b3012cdd" rel="noreferrer noopener">f8e54b5</a>)</li>
<li>implement improved retry context information (<a href="https://github.com/googleapis/java-storage/commit/85049b97b3cc8a82bb28d75295e1cdf5e3cc06ae" rel="noreferrer noopener">85049b9</a>)</li>
<li>implement improved retry context information (<a href="https://github.com/googleapis/java-storage/commit/2a92e359ce1463306bef3415dde4af69ed515873" rel="noreferrer noopener">2a92e35</a>)</li>
<li>implement improved retry context information (<a href="https://github.com/googleapis/java-storage/commit/3b195fecc165896fc7654744e82247127e39e535" rel="noreferrer noopener">3b195fe</a>)</li>
<li>implement improved retry context information (<a href="https://github.com/googleapis/java-storage/commit/ae31163618704a1c37394ccc5b4213773f149ac5" rel="noreferrer noopener">ae31163</a>)</li>
<li>implement improved retry context information (<a href="https://github.com/googleapis/java-storage/commit/b1499d6b64d82c54e339f2af86422ae0a8aa766b" rel="noreferrer noopener">b1499d6</a>)</li>
<li>implement improved retry context information (<a href="https://github.com/googleapis/java-storage/commit/1085216acd5fc3191ff043615b0f0b52730e56e2" rel="noreferrer noopener">1085216</a>)</li>
<li>implement improved retry context information (<a href="https://github.com/googleapis/java-storage/commit/36160978c767c828921fabc1314c89a81eb612b9" rel="noreferrer noopener">3616097</a>)</li>
<li>implement improved retry context information (<a href="https://github.com/googleapis/java-storage/commit/6a8099482558b3486b008af632f18094e6461797" rel="noreferrer noopener">6a80994</a>)</li>
<li>implement improved retry context information (<a href="https://github.com/googleapis/java-storage/commit/69d01d41b731f6c03049c24b954704a672400cbd" rel="noreferrer noopener">69d01d4</a>)</li>
<li>implement improved retry context information (<a href="https://github.com/googleapis/java-storage/commit/fa0df985586466f73aa7bca9a4982402aa802bc8" rel="noreferrer noopener">fa0df98</a>)</li>
<li>implement improved retry context information (<a href="https://github.com/googleapis/java-storage/commit/3eec2e327f4aad1bb46f3389e76d02b55a31ee43" rel="noreferrer noopener">3eec2e3</a>)</li>
<li>implement improved retry context information (<a href="https://github.com/googleapis/java-storage/commit/1bf497e3ce2105734daa262589550aca29eee0f2" rel="noreferrer noopener">1bf497e</a>)</li>
<li>implement improved retry context information (<a href="https://github.com/googleapis/java-storage/commit/bc7a931542b22589c39d0be0980eb116dbf2a0dc" rel="noreferrer noopener">bc7a931</a>)</li>
<li>implement improved retry context information (<a href="https://github.com/googleapis/java-storage/commit/c6f5b57e3cdd3747121f50284bca7f823e34f329" rel="noreferrer noopener">c6f5b57</a>)</li>
<li>implement improved retry context information (<a href="https://github.com/googleapis/java-storage/commit/8d4d7a3caed4711a59a9509347ed634a783e390a" rel="noreferrer noopener">8d4d7a3</a>)</li>
<li>implement improved retry context information (<a href="https://github.com/googleapis/java-storage/commit/affb14fbb2738c687a885ad4491e57da7808cb9b" rel="noreferrer noopener">affb14f</a>)</li>
<li>implement improved retry context information (<a href="https://github.com/googleapis/java-storage/commit/09c426b42d4d72d547312e68428373bc6edfc585" rel="noreferrer noopener">09c426b</a>)</li>
<li>implement improved retry context information (<a href="https://github.com/googleapis/java-storage/commit/af5227949285419add4398e62dd7276e2e9038f4" rel="noreferrer noopener">af52279</a>)</li>
<li>implement improved retry context information (<a href="https://github.com/googleapis/java-storage/commit/72491e711054572d90c5b673a128bf5294f07daf" rel="noreferrer noopener">72491e7</a>)</li>
<li>implement improved retry context information (<a href="https://github.com/googleapis/java-storage/commit/2968790b77bae8751ae56c306e736c99409da8a7" rel="noreferrer noopener">2968790</a>)</li>
<li>implement improved retry context information (<a href="https://github.com/googleapis/java-storage/commit/a4d919ed36d3095653b22abb9bc607e58d39ddaa" rel="noreferrer noopener">a4d919e</a>)</li>
<li>implement improved retry context information (<a href="https://github.com/googleapis/java-storage/commit/f437c0a427d234a4d7afc486e1480e64695e7785" rel="noreferrer noopener">f437c0a</a>)</li>
<li>implement improved retry context information (<a href="https://github.com/googleapis/java-storage/commit/ba70fd8495ee81081dd7a9acbf49b56d296b7d1a" rel="noreferrer noopener">ba70fd8</a>)</li>
<li>implement improved retry context information (<a href="https://github.com/googleapis/java-storage/commit/95d46a581be8f1b2aafc137257ddb8aa48009707" rel="noreferrer noopener">95d46a5</a>)</li>
<li>implement improved retry context information (<a href="https://github.com/googleapis/java-storage/commit/413d65fe73ae4f5e360f75b22a36b57b1aac1b87" rel="noreferrer noopener">413d65f</a>)</li>
<li>implement improved retry context information (<a href="https://github.com/googleapis/java-storage/commit/52639da2676476c734df496bd92054c62f60a226" rel="noreferrer noopener">52639da</a>)</li>
<li>implement improved retry context information (<a href="https://github.com/googleapis/java-storage/commit/961f3cb7c1f83eff6a01c6e283f8c2faf47822ee" rel="noreferrer noopener">961f3cb</a>)</li>
<li>implement improved retry context information (<a href="https://github.com/googleapis/java-storage/commit/98dbb02c8c8711219b087c6c702dbeeee5fdf27e" rel="noreferrer noopener">98dbb02</a>)</li>
<li>implement improved retry context information (<a href="https://github.com/googleapis/java-storage/commit/cbc22f22f27f07f4b2ca6bc50890d13fdf715663" rel="noreferrer noopener">cbc22f2</a>)</li>
<li>implement improved retry context information (<a href="https://github.com/googleapis/java-storage/commit/f7c37f576bd801ab15926aaeda6f676050a6a442" rel="noreferrer noopener">f7c37f5</a>)</li>
<li>implement improved retry context information (<a href="https://github.com/googleapis/java-storage/commit/a7a894505144333e9ad28fbe0faf840985414f07" rel="noreferrer noopener">a7a8945</a>)</li>
<li>implement improved retry context information (<a href="https://github.com/googleapis/java-storage/commit/26db9e356c4c6b12d2defd587c169d34529ec37e" rel="noreferrer noopener">26db9e3</a>)</li>
<li>implement improved retry context information (<a href="https://github.com/googleapis/java-storage/commit/3ca4123a7c307246393f8f441e3b8d623806fe28" rel="noreferrer noopener">3ca4123</a>)</li>
<li>implement improved retry context information (<a href="https://github.com/googleapis/java-storage/commit/8553cb9d6153c48f0634a24bdbac9c9f1306e1dc" rel="noreferrer noopener">8553cb9</a>)</li>
<li>implement improved retry context information (<a href="https://github.com/googleapis/java-storage/commit/758756fce213ad0fe8ef3127d2bb55b1e2f8a7aa" rel="noreferrer noopener">758756f</a>)</li>
<li>implement improved retry context information (<a href="https://github.com/googleapis/java-storage/commit/065d2491cfb19a66bba36a97e2e80c37d6090240" rel="noreferrer noopener">065d249</a>)</li>
<li>implement improved retry context information (<a href="https://github.com/googleapis/java-storage/commit/61824e6a36b48b7caeb66b88436fa645a4a0f01a" rel="noreferrer noopener">61824e6</a>)</li>
<li>implement improved retry context information (<a href="https://github.com/googleapis/java-storage/commit/67482f7a79eea2d6b16c27b54a4f9d82fb753a69" rel="noreferrer noopener">67482f7</a>)</li>
<li>implement improved retry context information (<a href="https://github.com/googleapis/java-storage/commit/d540a830f341e06dd912b2369f0564dd7f0aea7a" rel="noreferrer noopener">d540a83</a>)</li>
<li>implement improved retry context information (<a href="https://github.com/googleapis/java-storage/commit/8e516e6a205383c32f4de075bc3494512c7164b7" rel="noreferrer noopener">8e516e6</a>)</li>
<li>implement improved retry context information (<a href="https://github.com/googleapis/java-storage/commit/0a2fac5ba741198496538ae1047d59d1ca3c22ea" rel="noreferrer noopener">0a2fac5</a>)</li>
<li>implement improved retry context information (<a href="https://github.com/googleapis/java-storage/commit/35c2fbfddf4006d84d4d51d5235730a0e109f2a0" rel="noreferrer noopener">35c2fbf</a>)</li>
<li>implement improved retry context information (<a href="https://github.com/googleapis/java-storage/commit/e5e11078e52746f5704f2860a26ce9adf5b8699e" rel="noreferrer noopener">e5e1107</a>)</li>
<li>implement improved retry context information (<a href="https://github.com/googleapis/java-storage/commit/79bea2c0f207bc50657566c8da1e7281719bde53" rel="noreferrer noopener">79bea2c</a>)</li>
<li>implement improved retry context information (<a href="https://github.com/googleapis/java-storage/commit/9416a8fad09931bbcd048f10e305116d5f45be26" rel="noreferrer noopener">9416a8f</a>)</li>
<li>implement improved retry context information (<a href="https://github.com/googleapis/java-storage/commit/411615de9a22493c0dd485c93deaea2da236027a" rel="noreferrer noopener">411615d</a>)</li>
<li>implement improved retry context information (<a href="https://github.com/googleapis/java-storage/commit/51af43ec08baac82a321d84ec423f0975d0e5916" rel="noreferrer noopener">51af43e</a>)</li>
<li>implement improved retry context information (<a href="https://github.com/googleapis/java-storage/commit/0bfb9ff636458b7983363cc46def051a38aacd72" rel="noreferrer noopener">0bfb9ff</a>)</li>
<li>implement improved retry context information (<a href="https://github.com/googleapis/java-storage/commit/c648d38866c5ebb165b05781b46287e0b79cdcc5" rel="noreferrer noopener">c648d38</a>)</li>
<li>implement improved retry context information (<a href="https://github.com/googleapis/java-storage/commit/b8dda33a9628e5b6f774ff242a725b8031130118" rel="noreferrer noopener">b8dda33</a>)</li>
<li>implement improved retry context information (<a href="https://github.com/googleapis/java-storage/commit/264683e1829fe2fca84a6ffd8c1b835228f0a79e" rel="noreferrer noopener">264683e</a>)</li>
<li>implement improved retry context information (<a href="https://github.com/googleapis/java-storage/commit/c653bb657290306b48a48a2c25f988328d8f7934" rel="noreferrer noopener">c653bb6</a>)</li>
<li>implement improved retry context information (<a href="https://github.com/googleapis/java-storage/commit/24be97d755eafd1ae2989633ce9059b4ea385eb8" rel="noreferrer noopener">24be97d</a>)</li>
<li>implement improved retry context information (<a href="https://github.com/googleapis/java-storage/commit/a0535c5ab6ac566e6b2d143f25ef57e742121b69" rel="noreferrer noopener">a0535c5</a>)</li>
<li>implement improved retry context information (<a href="https://github.com/googleapis/java-storage/commit/be3be3f895b651ae36acb07d53c21a2241d56df1" rel="noreferrer noopener">be3be3f</a>)</li>
<li>implement improved retry context information (<a href="https://github.com/googleapis/java-storage/commit/ec590781093686ba44f1bf5c1960226be2ad7c97" rel="noreferrer noopener">ec59078</a>)</li>
<li>introductory beta level support for OpenTelemetry tracing on c.g.c.storage.Storage methods (<a href="https://github.com/googleapis/java-storage/issues/2837" rel="noreferrer noopener">#2837</a>) (<a href="https://github.com/googleapis/java-storage/commit/dd889ea0d0a57490ef106ab92ba557f26d414406" rel="noreferrer noopener">dd889ea</a>)</li>
<li>next release from main branch is 2.48.0 (<a href="https://github.com/googleapis/java-storage/issues/2885" rel="noreferrer noopener">#2885</a>) (<a href="https://github.com/googleapis/java-storage/commit/34e5903df9b7221ba9ebabc07046d7b819f9f209" rel="noreferrer noopener">34e5903</a>)</li>
<li>next release from main branch is 2.50.0 (<a href="https://github.com/googleapis/java-storage/issues/2968" rel="noreferrer noopener">#2968</a>) (<a href="https://github.com/googleapis/java-storage/commit/4a69fcc16787904675e5ba15f42bcab67553a7aa" rel="noreferrer noopener">4a69fcc</a>)</li>
<li><strong>storagecontrol:</strong> Add Anywhere cache control APIs (<a href="https://github.com/googleapis/java-storage/commit/06572b7ced2829cdc00bf648521c024a52d93b3a" rel="noreferrer noopener">06572b7</a>)</li>
<li><strong>storagecontrol:</strong> Add Client Libraries Storage IntelligenceConfig (<a href="https://github.com/googleapis/java-storage/commit/06572b7ced2829cdc00bf648521c024a52d93b3a" rel="noreferrer noopener">06572b7</a>)</li>
<li><strong>storagecontrol:</strong> add GetIamPolicy, SetIamPolicy, and TestIamPermissions RPCs (<a href="https://github.com/googleapis/java-storage/commit/c884551048a323f2a3fd7aaf4fce469d4d4f543e" rel="noreferrer noopener">c884551</a>)</li>
<li><strong>transfer-manager:</strong> add ParallelUploadConfig.Builder#setUploadBlobInfoFactory (<a href="https://github.com/googleapis/java-storage/issues/2936" rel="noreferrer noopener">#2936</a>) (<a href="https://github.com/googleapis/java-storage/commit/86e9ae80772aa202d0b6563b8dd37722d8b5e0e0" rel="noreferrer noopener">86e9ae8</a>), closes <a href="https://github.com/googleapis/java-storage/issues/2638" rel="noreferrer noopener">#2638</a> </li>
</ul>
<h5 id="bug_fixes_11">Bug Fixes</h5>
<ul>
<li>add case insensitive check for X-Goog-Content-SHA256 in SignatureInfo (<a href="https://github.com/googleapis/java-storage/issues/3337" rel="noreferrer noopener">#3337</a>) (<a href="https://github.com/googleapis/java-storage/commit/54bc2c12f2d0e8c164e4ddcaa1a61d2de3911131" rel="noreferrer noopener">54bc2c1</a>)</li>
<li>add new system property (com.google.cloud.storage.grpc.bound_token) to allow disabling bound token use with grpc (<a href="https://github.com/googleapis/java-storage/issues/3365" rel="noreferrer noopener">#3365</a>) (<a href="https://github.com/googleapis/java-storage/commit/ebf5e6d30d8dc197ab388a70cc0d465c0f740496" rel="noreferrer noopener">ebf5e6d</a>)</li>
<li>call response.disconnect() after resolving resumable upload url (<a href="https://github.com/googleapis/java-storage/issues/3385" rel="noreferrer noopener">#3385</a>) (<a href="https://github.com/googleapis/java-storage/commit/ac3be4b7e82d9340ede7d527a26ffe3e2ba58909" rel="noreferrer noopener">ac3be4b</a>)</li>
<li>cancel the future in RemoteStorageHelper#forceDelete when TimeoutException happens (<a href="https://github.com/googleapis/java-storage/issues/3136" rel="noreferrer noopener">#3136</a>) (<a href="https://github.com/googleapis/java-storage/commit/e6007d56e8801be65209cb5761f62749369425c9" rel="noreferrer noopener">e6007d5</a>)</li>
<li>categorize a WatchdogTimeoutException as retriable for grpc ReadObject (<a href="https://github.com/googleapis/java-storage/issues/2954" rel="noreferrer noopener">#2954</a>) (<a href="https://github.com/googleapis/java-storage/commit/b53bd53c26984b3e850355ced608b511688b74d1" rel="noreferrer noopener">b53bd53</a>)</li>
<li>de-beta storage-v2 artifacts (<a href="https://github.com/googleapis/java-storage/issues/2852" rel="noreferrer noopener">#2852</a>) (<a href="https://github.com/googleapis/java-storage/commit/77a2e8af341528a4ff3c34a880a7983f828b8cfd" rel="noreferrer noopener">77a2e8a</a>)</li>
<li><strong>deps:</strong> update the Java code generator (gapic-generator-java) to 2.51.0 (<a href="https://github.com/googleapis/java-storage/commit/34b8ac4239bab67b53c73050d2341615254a3ae0" rel="noreferrer noopener">34b8ac4</a>)</li>
<li><strong>deps:</strong> update the Java code generator (gapic-generator-java) to 2.51.1 (<a href="https://github.com/googleapis/java-storage/commit/09ed02995f4688db69c0e0db1c3d72cadce0c395" rel="noreferrer noopener">09ed029</a>)</li>
<li><strong>deps:</strong> update the Java code generator (gapic-generator-java) to 2.52.0 (<a href="https://github.com/googleapis/java-storage/commit/00754bc0b30da4ebc13e75f55525d9bd885b0572" rel="noreferrer noopener">00754bc</a>)</li>
<li><strong>deps:</strong> update the Java code generator (gapic-generator-java) to 2.53.0 (<a href="https://github.com/googleapis/java-storage/commit/9946d6bdc7ec8398bf1bd1df63f272df1351539e" rel="noreferrer noopener">9946d6b</a>)</li>
<li><strong>deps:</strong> update the Java code generator (gapic-generator-java) to 2.54.0 (<a href="https://github.com/googleapis/java-storage/commit/22e7e3d4e8c56184f9c91b1e0bf52d5c4aa4cf9f" rel="noreferrer noopener">22e7e3d</a>)</li>
<li><strong>deps:</strong> update the Java code generator (gapic-generator-java) to 2.55.1 (<a href="https://github.com/googleapis/java-storage/commit/81c8c611ab51a706d63670dff86db5bfd04ef544" rel="noreferrer noopener">81c8c61</a>)</li>
<li><strong>deps:</strong> update the Java code generator (gapic-generator-java) to 2.56.0 (<a href="https://github.com/googleapis/java-storage/commit/8f9f5ec4506bde58fbf2351c99f0d67cdcfcd88e" rel="noreferrer noopener">8f9f5ec</a>)</li>
<li><strong>deps:</strong> update the Java code generator (gapic-generator-java) to 2.56.2 (<a href="https://github.com/googleapis/java-storage/commit/74c46ddcd91553bcb8145c536389bbe0ca32886c" rel="noreferrer noopener">74c46dd</a>)</li>
<li><strong>deps:</strong> update the Java code generator (gapic-generator-java) to 2.58.0 (<a href="https://github.com/googleapis/java-storage/commit/06572b7ced2829cdc00bf648521c024a52d93b3a" rel="noreferrer noopener">06572b7</a>)</li>
<li><strong>deps:</strong> update the Java code generator (gapic-generator-java) to 2.59.0 (<a href="https://github.com/googleapis/java-storage/commit/7dba9f09f100062cc8c04e5a2735a4349d8e7ed1" rel="noreferrer noopener">7dba9f0</a>)</li>
<li><strong>deps:</strong> update the Java code generator (gapic-generator-java) to 2.60.2 (<a href="https://github.com/googleapis/java-storage/commit/bd1f199cf57c2b8039c303586d5beac64aeca0ba" rel="noreferrer noopener">bd1f199</a>)</li>
<li><strong>deps:</strong> update the Java code generator (gapic-generator-java) to 2.61.0 (<a href="https://github.com/googleapis/java-storage/commit/f98b686ef940879458acb1e56339adf869400b94" rel="noreferrer noopener">f98b686</a>)</li>
<li><strong>deps:</strong> update the Java code generator (gapic-generator-java) to 2.62.1 (<a href="https://github.com/googleapis/java-storage/commit/0e348dbee247e1e65713d0155e1aa29ae5c5e0e4" rel="noreferrer noopener">0e348db</a>)</li>
<li><strong>deps:</strong> update the Java code generator (gapic-generator-java) to 2.62.2 (<a href="https://github.com/googleapis/java-storage/commit/984f8ca23a38c7a892a2256a694b72431e44aa27" rel="noreferrer noopener">984f8ca</a>)</li>
<li><strong>deps:</strong> update the Java code generator (gapic-generator-java) to 2.62.3 (<a href="https://github.com/googleapis/java-storage/commit/ba847937e553f6a47aa459f634f63ed42310762d" rel="noreferrer noopener">ba84793</a>)</li>
<li><strong>deps:</strong> update the Java code generator (gapic-generator-java) to 2.63.0 (<a href="https://github.com/googleapis/java-storage/commit/c1a8968799c1cf5a970fe9f303adccdad0a117c8" rel="noreferrer noopener">c1a8968</a>)</li>
<li><strong>deps:</strong> update the Java code generator (gapic-generator-java) to 2.64.1 (<a href="https://github.com/googleapis/java-storage/commit/511ff514410e55425e968ab900ac1b8825fe507a" rel="noreferrer noopener">511ff51</a>)</li>
<li><strong>deps:</strong> update the Java code generator (gapic-generator-java) to 2.65.0-rc1 (<a href="https://github.com/googleapis/java-storage/commit/c3267aabeb6c6dab96b60547ac6d06a498aa8f8b" rel="noreferrer noopener">c3267aa</a>)</li>
<li>enable ALTS bound token (for DirectPath) in the grpc channel provider (<a href="https://github.com/googleapis/java-storage/issues/2919" rel="noreferrer noopener">#2919</a>) (<a href="https://github.com/googleapis/java-storage/commit/38d248d9511e808e88c1bac0b6bb2ba54897830d" rel="noreferrer noopener">38d248d</a>)</li>
<li>ensure object generation is sent for Storage#update(BlobInfo) using HTTP Transport (<a href="https://github.com/googleapis/java-storage/issues/3006" rel="noreferrer noopener">#3006</a>) (<a href="https://github.com/googleapis/java-storage/commit/2a3e0e7453c5e3e45bc06eec1ba6d2bc193143e6" rel="noreferrer noopener">2a3e0e7</a>), closes <a href="https://github.com/googleapis/java-storage/issues/2980" rel="noreferrer noopener">#2980</a> </li>
<li>fix a possible NPE that could happen when shutting down a grpc Storage instance (<a href="https://github.com/googleapis/java-storage/issues/3089" rel="noreferrer noopener">#3089</a>) (<a href="https://github.com/googleapis/java-storage/commit/56f5d0ae8826d3d03c436fd0b91630cd09c09a3d" rel="noreferrer noopener">56f5d0a</a>)</li>
<li>fix appendable upload finalization race condition (<a href="https://github.com/googleapis/java-storage/issues/3295" rel="noreferrer noopener">#3295</a>) (<a href="https://github.com/googleapis/java-storage/commit/485be184c08c7b857d8c9a9443f32903df879b23" rel="noreferrer noopener">485be18</a>)</li>
<li>fix DefaultBlobWriteSessionConfig init to work when grpc classes are excluded (<a href="https://github.com/googleapis/java-storage/issues/3147" rel="noreferrer noopener">#3147</a>) (<a href="https://github.com/googleapis/java-storage/commit/8571ba8eee82d055cdeb5f0b6970d5b814eaa24e" rel="noreferrer noopener">8571ba8</a>)</li>
<li>fix grpc ReadObject memory leak introduced in 2.51.0 (<a href="https://github.com/googleapis/java-storage/issues/3080" rel="noreferrer noopener">#3080</a>) (<a href="https://github.com/googleapis/java-storage/commit/705762947fad452462ad0e55ec5898e6389a0ac3" rel="noreferrer noopener">7057629</a>)</li>
<li>fix IllegalMonitorStateException thrown from BlobAppendableUpload.isOpen() (<a href="https://github.com/googleapis/java-storage/issues/3302" rel="noreferrer noopener">#3302</a>) (<a href="https://github.com/googleapis/java-storage/commit/aa904688b784d7427454318196ef88628e415246" rel="noreferrer noopener">aa90468</a>)</li>
<li>fix interrupt spiral in grpc ReadObject drainQueue (<a href="https://github.com/googleapis/java-storage/issues/2850" rel="noreferrer noopener">#2850</a>) (<a href="https://github.com/googleapis/java-storage/commit/c1dac837387ffc40f00344c8fb0e86e09d009358" rel="noreferrer noopener">c1dac83</a>)</li>
<li>fix Journaling BlobWriteSessionConfig to properly handle multiple consecutive retries (<a href="https://github.com/googleapis/java-storage/issues/3166" rel="noreferrer noopener">#3166</a>) (<a href="https://github.com/googleapis/java-storage/commit/895bfbda902a77d16a33fe5238349a6b3d397c10" rel="noreferrer noopener">895bfbd</a>)</li>
<li>give user provided checksum precondition priority for Storage#create methods that accept byte[] <a href="https://github.com/googleapis/java-storage/issues/3182" rel="noreferrer noopener">#3182</a> (<a href="https://github.com/googleapis/java-storage/commit/fa0f6a03380af78e239bd0079267649ba4138f38" rel="noreferrer noopener">fa0f6a0</a>)</li>
<li>improve 503 handling for json resumable uploads (<a href="https://github.com/googleapis/java-storage/issues/2987" rel="noreferrer noopener">#2987</a>) (<a href="https://github.com/googleapis/java-storage/commit/9bc2b14a0058cded0321e5afa3ea3fc59bf3421b" rel="noreferrer noopener">9bc2b14</a>)</li>
<li>make FlushPolicy${Min,Max}FlushSizeFlushPolicy constructors private (<a href="https://github.com/googleapis/java-storage/issues/3217" rel="noreferrer noopener">#3217</a>) (<a href="https://github.com/googleapis/java-storage/commit/7bd73d3104f5c47299f5a9c8d68dec82933eeda5" rel="noreferrer noopener">7bd73d3</a>)</li>
<li>migrate away from GoogleCredentials.fromStream() usages (<a href="https://github.com/googleapis/java-storage/issues/3339" rel="noreferrer noopener">#3339</a>) (<a href="https://github.com/googleapis/java-storage/commit/7e42c2fbca53ca6b1266f784e58cee00cfed7d62" rel="noreferrer noopener">7e42c2f</a>)</li>
<li>move crc32c computation before writing to disk for BufferToDiskThenUpload BlobWriteSession config <a href="https://github.com/googleapis/java-storage/issues/3187" rel="noreferrer noopener">#3187</a> (<a href="https://github.com/googleapis/java-storage/commit/fa0f6a03380af78e239bd0079267649ba4138f38" rel="noreferrer noopener">fa0f6a0</a>)</li>
<li>next release candidate (<a href="https://github.com/googleapis/java-storage/commit/eec9efaa88f14bea4f20e1883455a9e5331c278f" rel="noreferrer noopener">eec9efa</a>)</li>
<li>update 416 handling for ReadChannel (<a href="https://github.com/googleapis/java-storage/issues/3018" rel="noreferrer noopener">#3018</a>) (<a href="https://github.com/googleapis/java-storage/commit/4a9c3e46e8d4fa64813869cadf247cf77f1844d5" rel="noreferrer noopener">4a9c3e4</a>)</li>
<li>update batch handling to ensure each operation has its own unique idempotency-token (<a href="https://github.com/googleapis/java-storage/issues/2905" rel="noreferrer noopener">#2905</a>) (<a href="https://github.com/googleapis/java-storage/commit/8d79b8d9cea30c6bba0d2550fa397b8c8b7acc3c" rel="noreferrer noopener">8d79b8d</a>)</li>
<li>update BlobAppendableUpload implementation to periodically flush for large writes (<a href="https://github.com/googleapis/java-storage/issues/3278" rel="noreferrer noopener">#3278</a>) (<a href="https://github.com/googleapis/java-storage/commit/d0ffe18084b32936c889bb280005294c7ae7064d" rel="noreferrer noopener">d0ffe18</a>)</li>
<li>update BlobAppendableUploadConfig and FlushPolicy.MinFlushSizeFlushPolicy to default to 4MiB minFlushSize and 16MiB maxPendingBytes (<a href="https://github.com/googleapis/java-storage/issues/3249" rel="noreferrer noopener">#3249</a>) (<a href="https://github.com/googleapis/java-storage/commit/7bd73d3104f5c47299f5a9c8d68dec82933eeda5" rel="noreferrer noopener">7bd73d3</a>)</li>
<li>update BlobReadSession channels to not implicitly close once EOF is observed (<a href="https://github.com/googleapis/java-storage/issues/3344" rel="noreferrer noopener">#3344</a>) (<a href="https://github.com/googleapis/java-storage/commit/9f0a93eb4c6bb8aab13915ca1cb40ba9e229a2f9" rel="noreferrer noopener">9f0a93e</a>)</li>
<li>update BlobReadSession ScatteringByteChannel projection to use less CPU (<a href="https://github.com/googleapis/java-storage/issues/3324" rel="noreferrer noopener">#3324</a>) (<a href="https://github.com/googleapis/java-storage/commit/678feccc972e557380e9ba5fcd52be099440197d" rel="noreferrer noopener">678fecc</a>)</li>
<li>update DefaultRetryContext to trap and forward RejectedExceptionException to onFailure (<a href="https://github.com/googleapis/java-storage/issues/3327" rel="noreferrer noopener">#3327</a>) (<a href="https://github.com/googleapis/java-storage/commit/1be31bdfbc0283733e86b049d3be1911db50fb96" rel="noreferrer noopener">1be31bd</a>)</li>
<li>update grpc based Storage to defer project id validation (<a href="https://github.com/googleapis/java-storage/issues/2930" rel="noreferrer noopener">#2930</a>) (<a href="https://github.com/googleapis/java-storage/commit/cc037848be7d21cb827c97d7f71618f1bfae941d" rel="noreferrer noopener">cc03784</a>)</li>
<li>update gRPC Bidi resumable upload to have more robust error message generation (<a href="https://github.com/googleapis/java-storage/issues/2998" rel="noreferrer noopener">#2998</a>) (<a href="https://github.com/googleapis/java-storage/commit/79b5d8559b2e655178db2ba75116ddba5a581a7b" rel="noreferrer noopener">79b5d85</a>)</li>
<li>update grpc client side metrics detection to be graceful when not running on gcp (<a href="https://github.com/googleapis/java-storage/issues/3097" rel="noreferrer noopener">#3097</a>) (<a href="https://github.com/googleapis/java-storage/commit/10cd32d51aa061304b5b4d0d632a2eed694cd1d6" rel="noreferrer noopener">10cd32d</a>)</li>
<li>update gRPC implementation for storage.buckets.get to translate NOT_FOUND to null (<a href="https://github.com/googleapis/java-storage/issues/3005" rel="noreferrer noopener">#3005</a>) (<a href="https://github.com/googleapis/java-storage/commit/704af65b25fe38d146b960775a69644cd80f2e78" rel="noreferrer noopener">704af65</a>)</li>
<li>update grpc single-shot uploads to attach the callers stracktrace as suppressed exception if an error happens in the background (<a href="https://github.com/googleapis/java-storage/issues/3330" rel="noreferrer noopener">#3330</a>) (<a href="https://github.com/googleapis/java-storage/commit/64e2b2ef839e69da0605b9e53989c1f5a2b09e66" rel="noreferrer noopener">64e2b2e</a>)</li>
<li>update kms key handling when opening a resumable upload to clear the value in the json to be null rather than empty string (<a href="https://github.com/googleapis/java-storage/issues/2939" rel="noreferrer noopener">#2939</a>) (<a href="https://github.com/googleapis/java-storage/commit/43553dedce33093e751143fadb372024d975706c" rel="noreferrer noopener">43553de</a>)</li>
<li>update object context diff logic to be shallow rather than deep (<a href="https://github.com/googleapis/java-storage/issues/3287" rel="noreferrer noopener">#3287</a>) (<a href="https://github.com/googleapis/java-storage/commit/2fd15f69e93a3df2b8dbbd4f08edd07c087e957c" rel="noreferrer noopener">2fd15f6</a>)</li>
<li>update otel integration to properly activate span context for lazy RPCs such as reads &amp; writes (<a href="https://github.com/googleapis/java-storage/issues/3255" rel="noreferrer noopener">#3255</a>) (<a href="https://github.com/googleapis/java-storage/commit/d6587f42b65a586a2e3f30e0559975801726a812" rel="noreferrer noopener">d6587f4</a>)</li>
<li>update otel integration to properly activate span context for lazy RPCs such as reads &amp; writes pt.2 (<a href="https://github.com/googleapis/java-storage/issues/3277" rel="noreferrer noopener">#3277</a>) (<a href="https://github.com/googleapis/java-storage/commit/3240f67c192a855c92256526aeb2fa689ea15445" rel="noreferrer noopener">3240f67</a>)</li>
<li>update PCU request building logic to properly clear crc32c and md5 (<a href="https://github.com/googleapis/java-storage/issues/3323" rel="noreferrer noopener">#3323</a>) (<a href="https://github.com/googleapis/java-storage/commit/4da9f3108d27f5c2ed3cc39eec161651f421e4db" rel="noreferrer noopener">4da9f31</a>)</li>
<li>update request handling of gRPC based CopyWriter (<a href="https://github.com/googleapis/java-storage/issues/2858" rel="noreferrer noopener">#2858</a>) (<a href="https://github.com/googleapis/java-storage/commit/093cb8759d5cfaafa6fd9df43de1bb91c1285f35" rel="noreferrer noopener">093cb87</a>)</li>
<li>update retry lifecycle when attempting to decompress a gzip object (<a href="https://github.com/googleapis/java-storage/issues/2840" rel="noreferrer noopener">#2840</a>) (<a href="https://github.com/googleapis/java-storage/commit/7dba13cbbfd38d3c2147b25264934f33c5dc78e3" rel="noreferrer noopener">7dba13c</a>)</li>
<li>update retry logic for grpc start resumable upload to properly handle client side deadline_exceeded (<a href="https://github.com/googleapis/java-storage/issues/3354" rel="noreferrer noopener">#3354</a>) (<a href="https://github.com/googleapis/java-storage/commit/6eb33311d8dd7344e30ddcb92334fd52c7c63b4d" rel="noreferrer noopener">6eb3331</a>)</li>
<li>update Signed URL default scheme to resolve from storage options host (<a href="https://github.com/googleapis/java-storage/issues/2880" rel="noreferrer noopener">#2880</a>) (<a href="https://github.com/googleapis/java-storage/commit/7ae7e3998930c1bec72ff7c06ebc2b66343852ca" rel="noreferrer noopener">7ae7e39</a>), closes <a href="https://github.com/googleapis/java-storage/issues/2870" rel="noreferrer noopener">#2870</a> </li>
<li>update StorageException translation of an ApiException to include error details (<a href="https://github.com/googleapis/java-storage/issues/2872" rel="noreferrer noopener">#2872</a>) (<a href="https://github.com/googleapis/java-storage/commit/8ad501012fab0dfd8d0f0dce49d7c681540022a9" rel="noreferrer noopener">8ad5010</a>)</li>
<li>update usages of String.format to explicitly pass Locale.US (<a href="https://github.com/googleapis/java-storage/issues/2974" rel="noreferrer noopener">#2974</a>) (<a href="https://github.com/googleapis/java-storage/commit/8bcb2de22ea39cfc0b4dda07daba78ea192b5e98" rel="noreferrer noopener">8bcb2de</a>), closes <a href="https://github.com/googleapis/java-storage/issues/2972" rel="noreferrer noopener">#2972</a> </li>
</ul>
<h5 id="dependencies_5">Dependencies</h5>
<ul>
<li>remove explicit version declarations for packages that are in shared-dependencies  (<a href="https://github.com/googleapis/java-storage/issues/3014" rel="noreferrer noopener">#3014</a>) (<a href="https://github.com/googleapis/java-storage/commit/61cdb30f250d2fdaaf79e0d060eb573197c7a90e" rel="noreferrer noopener">61cdb30</a>)</li>
<li>update actions/checkout action to v5 (<a href="https://github.com/googleapis/java-storage/issues/3239" rel="noreferrer noopener">#3239</a>) (<a href="https://github.com/googleapis/java-storage/commit/33f024b1ae094bf3e3605e1a835cb55eb5c9e750" rel="noreferrer noopener">33f024b</a>)</li>
<li>update dependency com.google.apis:google-api-services-storage to v1-rev20241206-2.0.0 (<a href="https://github.com/googleapis/java-storage/issues/2839" rel="noreferrer noopener">#2839</a>) (<a href="https://github.com/googleapis/java-storage/commit/8f3cdd39dbbbbd63c560c3cb44d1032c0bd41749" rel="noreferrer noopener">8f3cdd3</a>)</li>
<li>update dependency com.google.apis:google-api-services-storage to v1-rev20250224-2.0.0 (<a href="https://github.com/googleapis/java-storage/issues/2969" rel="noreferrer noopener">#2969</a>) (<a href="https://github.com/googleapis/java-storage/commit/80a40c41527a5fb83a41ac4754d5be22f5cd5c2b" rel="noreferrer noopener">80a40c4</a>)</li>
<li>update dependency com.google.apis:google-api-services-storage to v1-rev20250312-2.0.0 (<a href="https://github.com/googleapis/java-storage/issues/3000" rel="noreferrer noopener">#3000</a>) (<a href="https://github.com/googleapis/java-storage/commit/78fc0763c89fb0e603d75b20c9c67eabc2b9f729" rel="noreferrer noopener">78fc076</a>)</li>
<li>update dependency com.google.apis:google-api-services-storage to v1-rev20250416-2.0.0 (<a href="https://github.com/googleapis/java-storage/issues/3063" rel="noreferrer noopener">#3063</a>) (<a href="https://github.com/googleapis/java-storage/commit/d496d5bcc1f6ee922bb8f02bfc91d4aeffb8f9a7" rel="noreferrer noopener">d496d5b</a>)</li>
<li>update dependency com.google.apis:google-api-services-storage to v1-rev20250420-2.0.0 (<a href="https://github.com/googleapis/java-storage/issues/3070" rel="noreferrer noopener">#3070</a>) (<a href="https://github.com/googleapis/java-storage/commit/1ef50f2936e62602db689cffbe166c9494ac58f6" rel="noreferrer noopener">1ef50f2</a>)</li>
<li>update dependency com.google.apis:google-api-services-storage to v1-rev20250424-2.0.0 (<a href="https://github.com/googleapis/java-storage/issues/3084" rel="noreferrer noopener">#3084</a>) (<a href="https://github.com/googleapis/java-storage/commit/c7afbde3b1a78a56c017283850f90938d66e44fd" rel="noreferrer noopener">c7afbde</a>)</li>
<li>update dependency com.google.apis:google-api-services-storage to v1-rev20250509-2.0.0 (<a href="https://github.com/googleapis/java-storage/issues/3103" rel="noreferrer noopener">#3103</a>) (<a href="https://github.com/googleapis/java-storage/commit/1fd109094814bfb6270e10a3e4fd5ec4d20e7fba" rel="noreferrer noopener">1fd1090</a>)</li>
<li>update dependency com.google.apis:google-api-services-storage to v1-rev20250521-2.0.0 (<a href="https://github.com/googleapis/java-storage/issues/3118" rel="noreferrer noopener">#3118</a>) (<a href="https://github.com/googleapis/java-storage/commit/e1be49e6c987daccf9542c15c6ba418c007d2fb7" rel="noreferrer noopener">e1be49e</a>)</li>
<li>update dependency com.google.apis:google-api-services-storage to v1-rev20250524-2.0.0 (<a href="https://github.com/googleapis/java-storage/issues/3127" rel="noreferrer noopener">#3127</a>) (<a href="https://github.com/googleapis/java-storage/commit/2a4499d1686e93e8495f29b5198488d166caaa06" rel="noreferrer noopener">2a4499d</a>)</li>
<li>update dependency com.google.apis:google-api-services-storage to v1-rev20250605-2.0.0 (<a href="https://github.com/googleapis/java-storage/issues/3143" rel="noreferrer noopener">#3143</a>) (<a href="https://github.com/googleapis/java-storage/commit/17a80d8b49fef65557215b310895b0f08ee25235" rel="noreferrer noopener">17a80d8</a>)</li>
<li>update dependency com.google.apis:google-api-services-storage to v1-rev20250629-2.0.0 (<a href="https://github.com/googleapis/java-storage/issues/3185" rel="noreferrer noopener">#3185</a>) (<a href="https://github.com/googleapis/java-storage/commit/4ce8281246cbe84ed068205532cac4a03853c331" rel="noreferrer noopener">4ce8281</a>)</li>
<li>update dependency com.google.apis:google-api-services-storage to v1-rev20250718-2.0.0 (<a href="https://github.com/googleapis/java-storage/issues/3203" rel="noreferrer noopener">#3203</a>) (<a href="https://github.com/googleapis/java-storage/commit/18978e4ec54790df2939490ef76fc19b9f72eb04" rel="noreferrer noopener">18978e4</a>)</li>
<li>update dependency com.google.apis:google-api-services-storage to v1-rev20250815-2.0.0 (<a href="https://github.com/googleapis/java-storage/issues/3245" rel="noreferrer noopener">#3245</a>) (<a href="https://github.com/googleapis/java-storage/commit/87afe1ac5f500053e4c0639d5b824304d03796f4" rel="noreferrer noopener">87afe1a</a>)</li>
<li>update dependency com.google.apis:google-api-services-storage to v1-rev20250925-2.0.0 (<a href="https://github.com/googleapis/java-storage/issues/3313" rel="noreferrer noopener">#3313</a>) (<a href="https://github.com/googleapis/java-storage/commit/ab310eb5af51ed332329abd6c3441d18f9965571" rel="noreferrer noopener">ab310eb</a>)</li>
<li>update dependency com.google.cloud:sdk-platform-java-config to v3.42.0 (<a href="https://github.com/googleapis/java-storage/issues/2895" rel="noreferrer noopener">#2895</a>) (<a href="https://github.com/googleapis/java-storage/commit/145afb0d3a783fe73a388a7be174b598a195a2c6" rel="noreferrer noopener">145afb0</a>)</li>
<li>update dependency com.google.cloud:sdk-platform-java-config to v3.46.2 (<a href="https://github.com/googleapis/java-storage/issues/3061" rel="noreferrer noopener">#3061</a>) (<a href="https://github.com/googleapis/java-storage/commit/cb43a6c368367e15dfd7c2205689df04547d1a9c" rel="noreferrer noopener">cb43a6c</a>)</li>
<li>update dependency com.google.cloud:sdk-platform-java-config to v3.50.1 (<a href="https://github.com/googleapis/java-storage/issues/3189" rel="noreferrer noopener">#3189</a>) (<a href="https://github.com/googleapis/java-storage/commit/7fbfb013a8cfb72d49e3d752ad25e73b6ccaab4f" rel="noreferrer noopener">7fbfb01</a>)</li>
<li>update dependency com.google.cloud:sdk-platform-java-config to v3.50.2 (<a href="https://github.com/googleapis/java-storage/issues/3201" rel="noreferrer noopener">#3201</a>) (<a href="https://github.com/googleapis/java-storage/commit/782c3c416583704a196b17f23e9c12c33659f67d" rel="noreferrer noopener">782c3c4</a>)</li>
<li>update dependency com.google.cloud:sdk-platform-java-config to v3.51.0 (<a href="https://github.com/googleapis/java-storage/issues/3213" rel="noreferrer noopener">#3213</a>) (<a href="https://github.com/googleapis/java-storage/commit/86ff69788b30d8f82b6b95d010df507093852889" rel="noreferrer noopener">86ff697</a>)</li>
<li>update dependency com.google.cloud:sdk-platform-java-config to v3.52.0 (<a href="https://github.com/googleapis/java-storage/issues/3250" rel="noreferrer noopener">#3250</a>) (<a href="https://github.com/googleapis/java-storage/commit/0782e62fc9534e3cecfaaa4d78b58904ecf699d6" rel="noreferrer noopener">0782e62</a>)</li>
<li>update dependency com.google.cloud:sdk-platform-java-config to v3.52.1 (<a href="https://github.com/googleapis/java-storage/issues/3280" rel="noreferrer noopener">#3280</a>) (<a href="https://github.com/googleapis/java-storage/commit/d046ea3da19288b64c48300bdd4f94a0ebf35458" rel="noreferrer noopener">d046ea3</a>)</li>
<li>update dependency com.google.cloud:sdk-platform-java-config to v3.52.2 (<a href="https://github.com/googleapis/java-storage/issues/3298" rel="noreferrer noopener">#3298</a>) (<a href="https://github.com/googleapis/java-storage/commit/1489f3a74c8a27f0888c40600c83adedcfd9a9ec" rel="noreferrer noopener">1489f3a</a>)</li>
<li>update dependency com.google.cloud:sdk-platform-java-config to v3.52.3 (<a href="https://github.com/googleapis/java-storage/issues/3325" rel="noreferrer noopener">#3325</a>) (<a href="https://github.com/googleapis/java-storage/commit/4d3e3be27811ad92becc93321048c4268cec2fcf" rel="noreferrer noopener">4d3e3be</a>)</li>
<li>update dependency com.google.cloud:sdk-platform-java-config to v3.53.0 (<a href="https://github.com/googleapis/java-storage/issues/3351" rel="noreferrer noopener">#3351</a>) (<a href="https://github.com/googleapis/java-storage/commit/e64565ab674f586ea4850408a3f30544997f4b1b" rel="noreferrer noopener">e64565a</a>)</li>
<li>update dependency com.google.cloud:sdk-platform-java-config to v3.54.1 (<a href="https://github.com/googleapis/java-storage/issues/3381" rel="noreferrer noopener">#3381</a>) (<a href="https://github.com/googleapis/java-storage/commit/e3d3700e06de2b0113e1cb01e99ef4aeed3c62c9" rel="noreferrer noopener">e3d3700</a>)</li>
<li>update dependency com.google.cloud.opentelemetry:exporter-trace to v0.33.0 (<a href="https://github.com/googleapis/java-storage/issues/2873" rel="noreferrer noopener">#2873</a>) (<a href="https://github.com/googleapis/java-storage/commit/39509d53ee283694526efbec58daa24c3d8ca080" rel="noreferrer noopener">39509d5</a>)</li>
<li>update dependency com.google.cloud.opentelemetry:exporter-trace to v0.33.0 (<a href="https://github.com/googleapis/java-storage/issues/2904" rel="noreferrer noopener">#2904</a>) (<a href="https://github.com/googleapis/java-storage/commit/2a5242e580185a5952181f922c4eca25790bcec6" rel="noreferrer noopener">2a5242e</a>)</li>
<li>update dependency com.google.cloud.opentelemetry:exporter-trace to v0.34.0 (<a href="https://github.com/googleapis/java-storage/issues/2938" rel="noreferrer noopener">#2938</a>) (<a href="https://github.com/googleapis/java-storage/commit/ff6f696e8c4a539b5e6755fbd550096ee4688ecc" rel="noreferrer noopener">ff6f696</a>)</li>
<li>update dependency com.google.cloud.opentelemetry:exporter-trace to v0.36.0 (<a href="https://github.com/googleapis/java-storage/issues/3162" rel="noreferrer noopener">#3162</a>) (<a href="https://github.com/googleapis/java-storage/commit/41a1030a2e77036cf961a16d472068b07e624192" rel="noreferrer noopener">41a1030</a>)</li>
<li>update gcr.io/cloud-devrel-public-resources/storage-testbench docker tag to v0.51.0 (<a href="https://github.com/googleapis/java-storage/issues/2860" rel="noreferrer noopener">#2860</a>) (<a href="https://github.com/googleapis/java-storage/commit/980ac4ebe09636d0de255e89f747bde8cc9ce041" rel="noreferrer noopener">980ac4e</a>)</li>
<li>update gcr.io/cloud-devrel-public-resources/storage-testbench docker tag to v0.52.0 (<a href="https://github.com/googleapis/java-storage/issues/2883" rel="noreferrer noopener">#2883</a>) (<a href="https://github.com/googleapis/java-storage/commit/a64a3d58410dd2e9db20a36cd7169037f71eaeeb" rel="noreferrer noopener">a64a3d5</a>)</li>
<li>update gcr.io/cloud-devrel-public-resources/storage-testbench docker tag to v0.59.0 (<a href="https://github.com/googleapis/java-storage/commit/f5d8337ad556770a55cc260975e44e85e8e831b0" rel="noreferrer noopener">f5d8337</a>)</li>
<li>update gcr.io/cloud-devrel-public-resources/storage-testbench docker tag to v0.59.0 (<a href="https://github.com/googleapis/java-storage/commit/5480ce347493ec425b675f462a42f45c22b06c28" rel="noreferrer noopener">5480ce3</a>)</li>
<li>update googleapis/sdk-platform-java action to v2.51.1 (<a href="https://github.com/googleapis/java-storage/issues/2864" rel="noreferrer noopener">#2864</a>) (<a href="https://github.com/googleapis/java-storage/commit/b731c06b11186e9695fb89f32abf35988d558bc9" rel="noreferrer noopener">b731c06</a>)</li>
<li>update googleapis/sdk-platform-java action to v2.55.1 (<a href="https://github.com/googleapis/java-storage/issues/2985" rel="noreferrer noopener">#2985</a>) (<a href="https://github.com/googleapis/java-storage/commit/e22a2de0fe1dc66e6e5b6d311f4812c290177203" rel="noreferrer noopener">e22a2de</a>)</li>
<li>update googleapis/sdk-platform-java action to v2.56.2 (<a href="https://github.com/googleapis/java-storage/issues/3055" rel="noreferrer noopener">#3055</a>) (<a href="https://github.com/googleapis/java-storage/commit/7025ad7db438741ab6d74d5e3f768d0a2bd4da5c" rel="noreferrer noopener">7025ad7</a>)</li>
<li>update googleapis/sdk-platform-java action to v2.60.1 (<a href="https://github.com/googleapis/java-storage/issues/3196" rel="noreferrer noopener">#3196</a>) (<a href="https://github.com/googleapis/java-storage/commit/6ba56e5a4b86a75a9f48beccf79ff6d5fdd3e19f" rel="noreferrer noopener">6ba56e5</a>)</li>
<li>update googleapis/sdk-platform-java action to v2.62.1 (<a href="https://github.com/googleapis/java-storage/issues/3281" rel="noreferrer noopener">#3281</a>) (<a href="https://github.com/googleapis/java-storage/commit/c9078bb98e3999234f95ab2e4c842c9dd7191c3d" rel="noreferrer noopener">c9078bb</a>)</li>
<li>update googleapis/sdk-platform-java action to v2.62.2 (<a href="https://github.com/googleapis/java-storage/issues/3299" rel="noreferrer noopener">#3299</a>) (<a href="https://github.com/googleapis/java-storage/commit/c3b05ac8798140f9ddcab098948a3a2f3638dc6b" rel="noreferrer noopener">c3b05ac</a>)</li>
<li>update googleapis/sdk-platform-java action to v2.62.3 (<a href="https://github.com/googleapis/java-storage/issues/3322" rel="noreferrer noopener">#3322</a>) (<a href="https://github.com/googleapis/java-storage/commit/a5808ea168a81f07040276c1a05da67108fda37f" rel="noreferrer noopener">a5808ea</a>)</li>
<li>update sdk-platform-java dependencies (<a href="https://github.com/googleapis/java-storage/issues/2841" rel="noreferrer noopener">#2841</a>) (<a href="https://github.com/googleapis/java-storage/commit/2a704815ee60b8ec7ff2c1af557fee4366ea2e19" rel="noreferrer noopener">2a70481</a>)</li>
<li>update sdk-platform-java dependencies (<a href="https://github.com/googleapis/java-storage/issues/2866" rel="noreferrer noopener">#2866</a>) (<a href="https://github.com/googleapis/java-storage/commit/562df7f087b34db0f3d49c6e0b87643a606ef9c6" rel="noreferrer noopener">562df7f</a>)</li>
<li>update sdk-platform-java dependencies (<a href="https://github.com/googleapis/java-storage/issues/2921" rel="noreferrer noopener">#2921</a>) (<a href="https://github.com/googleapis/java-storage/commit/fa9b0a8d6e2b185c0588d824329b409718bef302" rel="noreferrer noopener">fa9b0a8</a>)</li>
<li>update sdk-platform-java dependencies (<a href="https://github.com/googleapis/java-storage/issues/2957" rel="noreferrer noopener">#2957</a>) (<a href="https://github.com/googleapis/java-storage/commit/40cfda62d4bff72a857d0269eaa7c0225f216650" rel="noreferrer noopener">40cfda6</a>)</li>
<li>update sdk-platform-java dependencies (<a href="https://github.com/googleapis/java-storage/issues/2983" rel="noreferrer noopener">#2983</a>) (<a href="https://github.com/googleapis/java-storage/commit/9eeb82af81ad8095c21542808a8eaa5098dee074" rel="noreferrer noopener">9eeb82a</a>)</li>
<li>update sdk-platform-java dependencies (<a href="https://github.com/googleapis/java-storage/issues/2986" rel="noreferrer noopener">#2986</a>) (<a href="https://github.com/googleapis/java-storage/commit/10b922a8ae831fcd0107abf54091566442ae5fde" rel="noreferrer noopener">10b922a</a>)</li>
<li>update sdk-platform-java dependencies (<a href="https://github.com/googleapis/java-storage/issues/3046" rel="noreferrer noopener">#3046</a>) (<a href="https://github.com/googleapis/java-storage/commit/861f9586e041f65061fb3da7f88955c4214d450c" rel="noreferrer noopener">861f958</a>)</li>
<li>update sdk-platform-java dependencies (<a href="https://github.com/googleapis/java-storage/issues/3053" rel="noreferrer noopener">#3053</a>) (<a href="https://github.com/googleapis/java-storage/commit/921d1ba0a547242c70cbb7dfb2cb190fa761398f" rel="noreferrer noopener">921d1ba</a>)</li>
<li>update sdk-platform-java dependencies (<a href="https://github.com/googleapis/java-storage/issues/3087" rel="noreferrer noopener">#3087</a>) (<a href="https://github.com/googleapis/java-storage/commit/762ca1374a8e738fbafc49d17fd38375962d026f" rel="noreferrer noopener">762ca13</a>)</li>
<li>update sdk-platform-java dependencies (<a href="https://github.com/googleapis/java-storage/issues/3102" rel="noreferrer noopener">#3102</a>) (<a href="https://github.com/googleapis/java-storage/commit/3b53b942f31805c5291ca109b4f3e501fbc6fc0d" rel="noreferrer noopener">3b53b94</a>)</li>
<li>update sdk-platform-java dependencies (<a href="https://github.com/googleapis/java-storage/issues/3129" rel="noreferrer noopener">#3129</a>) (<a href="https://github.com/googleapis/java-storage/commit/31cd058dcaf5a891ecb7a955602b09634d912560" rel="noreferrer noopener">31cd058</a>)</li>
<li>update sdk-platform-java dependencies (<a href="https://github.com/googleapis/java-storage/issues/3152" rel="noreferrer noopener">#3152</a>) (<a href="https://github.com/googleapis/java-storage/commit/2f78192d97e9d3ca29c97a52a66a074777dce196" rel="noreferrer noopener">2f78192</a>)</li>
<li>update sdk-platform-java dependencies (<a href="https://github.com/googleapis/java-storage/issues/3164" rel="noreferrer noopener">#3164</a>) (<a href="https://github.com/googleapis/java-storage/commit/c22a1319d8e2d92beeb03abac6bf2af8d09d49ee" rel="noreferrer noopener">c22a131</a>)</li>
<li>update sdk-platform-java-config to 3.55.0-rc1 (<a href="https://github.com/googleapis/java-storage/issues/3434" rel="noreferrer noopener">#3434</a>) (<a href="https://github.com/googleapis/java-storage/commit/25283cb7ecc6ef4e22d4b551821641a1a218eaf9" rel="noreferrer noopener">25283cb</a>)</li>
</ul>
<h5 id="documentation">Documentation</h5>
<ul>
<li>add explicit Optional annotations to fields that have always been treated as optional (<a href="https://github.com/googleapis/java-storage/commit/53b6927de9e5b948e1192e6cf716b88cc872c632" rel="noreferrer noopener">53b6927</a>)</li>
<li>add note about HNS support to moveBlob (<a href="https://github.com/googleapis/java-storage/issues/2929" rel="noreferrer noopener">#2929</a>) (<a href="https://github.com/googleapis/java-storage/commit/c461546bfd016b21eb99f8e25604ee3fd001c9c6" rel="noreferrer noopener">c461546</a>)</li>
<li>add note that Bucket.project output format is always project number format (<a href="https://github.com/googleapis/java-storage/commit/53b6927de9e5b948e1192e6cf716b88cc872c632" rel="noreferrer noopener">53b6927</a>)</li>
<li>add note that managedFolders are supported for GetIamPolicy and SetIamPolicy (<a href="https://github.com/googleapis/java-storage/commit/53b6927de9e5b948e1192e6cf716b88cc872c632" rel="noreferrer noopener">53b6927</a>)</li>
<li>add samples for soft delete (objects) (<a href="https://github.com/googleapis/java-storage/issues/2754" rel="noreferrer noopener">#2754</a>) (<a href="https://github.com/googleapis/java-storage/commit/41bc807e94f1c0eebd41b4a7baa12301858cc16f" rel="noreferrer noopener">41bc807</a>)</li>
<li>Create OpenTelemetry Quickstart Sample (<a href="https://github.com/googleapis/java-storage/issues/2861" rel="noreferrer noopener">#2861</a>) (<a href="https://github.com/googleapis/java-storage/commit/31df9b7a6350714ff354934ccbd27c5dd68762f5" rel="noreferrer noopener">31df9b7</a>)</li>
<li>update storage_copy_file to include MegabytesCopiedPerChunk (<a href="https://github.com/googleapis/java-storage/issues/2910" rel="noreferrer noopener">#2910</a>) (<a href="https://github.com/googleapis/java-storage/commit/971ca5d107967960e6db6ca76a55e44b9aefc605" rel="noreferrer noopener">971ca5d</a>)</li>
</ul></section>
</div>
]]>
    </content>
  </entry>

  <entry>
    <title>December 16, 2025</title>
    <id>tag:google.com,2016:storage-release-notes#December_16_2025</id>
    <updated>2025-12-16T00:00:00-08:00</updated>
    <link rel="alternate" href="https://docs.cloud.google.com/storage/docs/release-notes#December_16_2025"/>
    <content type="html"><![CDATA[<h3>Feature</h3>
<p>You can now generate <a href="https://docs.cloud.google.com/storage/docs/insights/datasets">Storage Insights
datasets</a> for activity data to receive insights
about object mutations, errors, and activity trends across projects, buckets,
and regions. For more information, see <a href="https://docs.cloud.google.com/storage/docs/insights/dataset-tables-and-schemas#activity-data-schema">Dataset schema for activity data
tables</a>.</p>
<h3>Feature</h3>
<p>You can now use Rapid Cache to serve data for object read requests issued
by BigQuery to accelerate data reads for your applications. For more
information, see <a href="https://docs.cloud.google.com/storage/docs/anywhere-cache#integrations">Using Rapid Cache to accelerate reads for BigQuery</a>.</p>
]]>
    </content>
  </entry>

  <entry>
    <title>December 15, 2025</title>
    <id>tag:google.com,2016:storage-release-notes#December_15_2025</id>
    <updated>2025-12-15T00:00:00-08:00</updated>
    <link rel="alternate" href="https://docs.cloud.google.com/storage/docs/release-notes#December_15_2025"/>
    <content type="html"><![CDATA[<h3>Libraries</h3>
<div class="ds-selector-tabs" data-ds-scope="code-sample">
<section><h3 track-name="python">Python</h3><h4 id="370_2025-12-09"><a href="https://github.com/googleapis/python-storage/compare/v3.6.0...v3.7.0" rel="noreferrer noopener">3.7.0</a> (2025-12-09)</h4>
<h5 id="features_5">Features</h5>
<ul>
<li>Auto enable mTLS when supported certificates are detected (<a href="https://github.com/googleapis/python-storage/issues/1637" rel="noreferrer noopener">#1637</a>) (<a href="https://github.com/googleapis/python-storage/commit/4e91c541363f0e583bf9dd1b81a95ff2cb618bac" rel="noreferrer noopener">4e91c54</a>)</li>
<li>Send entire object checksum in the final api call of resumable upload (<a href="https://github.com/googleapis/python-storage/issues/1654" rel="noreferrer noopener">#1654</a>) (<a href="https://github.com/googleapis/python-storage/commit/ddce7e53a13e6c0487221bb14e88161da7ed9e08" rel="noreferrer noopener">ddce7e5</a>)</li>
<li>Support urllib3 &gt;= 2.6.0 (<a href="https://github.com/googleapis/python-storage/issues/1658" rel="noreferrer noopener">#1658</a>) (<a href="https://github.com/googleapis/python-storage/commit/57405e956a7ca579b20582bf6435cec42743c478" rel="noreferrer noopener">57405e9</a>)</li>
</ul>
<h5 id="bug_fixes_9">Bug Fixes</h5>
<ul>
<li><strong>bucket:</strong> Move blob fails when the new blob name contains characters that need to be url encoded (<a href="https://github.com/googleapis/python-storage/issues/1605" rel="noreferrer noopener">#1605</a>) (<a href="https://github.com/googleapis/python-storage/commit/ec470a270e189e137c7229cc359367d5a897cdb9" rel="noreferrer noopener">ec470a2</a>)</li>
</ul></section>
</div>
]]>
    </content>
  </entry>

  <entry>
    <title>November 24, 2025</title>
    <id>tag:google.com,2016:storage-release-notes#November_24_2025</id>
    <updated>2025-11-24T00:00:00-08:00</updated>
    <link rel="alternate" href="https://docs.cloud.google.com/storage/docs/release-notes#November_24_2025"/>
    <content type="html"><![CDATA[<h3>Libraries</h3>
<div class="ds-selector-tabs" data-ds-scope="code-sample">
<section><h3 track-name="python">Python</h3><h4 id="360_2025-11-17"><a href="https://github.com/googleapis/python-storage/compare/v3.5.0...v3.6.0" rel="noreferrer noopener">3.6.0</a> (2025-11-17)</h4>
<h5 id="features_4">Features</h5>
<ul>
<li>Add support for partial list buckets (<a href="https://github.com/googleapis/python-storage/issues/1606" rel="noreferrer noopener">#1606</a>) (<a href="https://github.com/googleapis/python-storage/commit/92fc2b00429415b9fbe7cba0167778eee60449e2" rel="noreferrer noopener">92fc2b0</a>)</li>
<li>Make return_partial_success and unreachable fields public for list Bucket (<a href="https://github.com/googleapis/python-storage/issues/1601" rel="noreferrer noopener">#1601</a>) (<a href="https://github.com/googleapis/python-storage/commit/323cddd5d439e04e12614106eab1928fd4008c0b" rel="noreferrer noopener">323cddd</a>)</li>
<li><strong>zb-experimental:</strong> Add async write object stream (<a href="https://github.com/googleapis/python-storage/commit/5ab81032268e875f82a66431d666fe61c9eb394b" rel="noreferrer noopener">5ab8103</a>)</li>
<li><strong>zb-experimental:</strong> Add async write object stream (<a href="https://github.com/googleapis/python-storage/issues/1612" rel="noreferrer noopener">#1612</a>) (<a href="https://github.com/googleapis/python-storage/commit/5ab81032268e875f82a66431d666fe61c9eb394b" rel="noreferrer noopener">5ab8103</a>)</li>
</ul>
<h5 id="bug_fixes_8">Bug Fixes</h5>
<ul>
<li>Don't pass credentials to StorageClient (<a href="https://github.com/googleapis/python-storage/issues/1608" rel="noreferrer noopener">#1608</a>) (<a href="https://github.com/googleapis/python-storage/commit/195d644c4d4feec98e9a9cd9fad67fc774c50dc8" rel="noreferrer noopener">195d644</a>)</li>
</ul></section>
</div>
]]>
    </content>
  </entry>

  <entry>
    <title>November 14, 2025</title>
    <id>tag:google.com,2016:storage-release-notes#November_14_2025</id>
    <updated>2025-11-14T00:00:00-08:00</updated>
    <link rel="alternate" href="https://docs.cloud.google.com/storage/docs/release-notes#November_14_2025"/>
    <content type="html"><![CDATA[<h3>Feature</h3>
<p>You can now use the Google Cloud console to <a href="https://docs.cloud.google.com/storage/docs/bucket-relocation/overview">relocate
buckets</a>. Using bucket relocation, you
can move an existing bucket from one location to another without changing the
bucket's name or requiring manual transfer of data within the bucket.</p>
]]>
    </content>
  </entry>

  <entry>
    <title>November 11, 2025</title>
    <id>tag:google.com,2016:storage-release-notes#November_11_2025</id>
    <updated>2025-11-11T00:00:00-08:00</updated>
    <link rel="alternate" href="https://docs.cloud.google.com/storage/docs/release-notes#November_11_2025"/>
    <content type="html"><![CDATA[<h3>Feature</h3>
<p>You can now enable <a href="https://docs.cloud.google.com/storage/docs/autoclass">Autoclass</a> for buckets with
<a href="https://docs.cloud.google.com/storage/docs/hns-overview">hierarchical namespace</a> enabled.</p>
]]>
    </content>
  </entry>

  <entry>
    <title>November 10, 2025</title>
    <id>tag:google.com,2016:storage-release-notes#November_10_2025</id>
    <updated>2025-11-10T00:00:00-08:00</updated>
    <link rel="alternate" href="https://docs.cloud.google.com/storage/docs/release-notes#November_10_2025"/>
    <content type="html"><![CDATA[<h3>Libraries</h3>
<div class="ds-selector-tabs" data-ds-scope="code-sample">
<section><h3 track-name="python">Python</h3><h4 id="350_2025-11-05"><a href="https://github.com/googleapis/python-storage/compare/v3.4.1...v3.5.0" rel="noreferrer noopener">3.5.0</a> (2025-11-05)</h4>
<h5 id="features_2">Features</h5>
<ul>
<li>Ensure that Python in FIPS mode can fetch MD5 implementation (<a href="https://github.com/googleapis/python-storage/issues/1522" rel="noreferrer noopener">#1522</a>) (<a href="https://github.com/googleapis/python-storage/commit/961536c7bf3652a824c207754317030526b9dd28" rel="noreferrer noopener">961536c</a>)</li>
<li>Provide option to update <code>user_agent</code> (<a href="https://github.com/googleapis/python-storage/issues/1596" rel="noreferrer noopener">#1596</a>) (<a href="https://github.com/googleapis/python-storage/commit/02f1451aaa8dacd10a862e97abb62ae48249b9b4" rel="noreferrer noopener">02f1451</a>)</li>
</ul>
<h5 id="bug_fixes_6">Bug Fixes</h5>
<ul>
<li>Deprecate credentials_file argument (<a href="https://github.com/googleapis/python-storage/commit/74415a2a120e9bfa42f4f5fc8bd2f8e0d4cf5d18" rel="noreferrer noopener">74415a2</a>)</li>
<li>Flaky system tests for resumable_media (<a href="https://github.com/googleapis/python-storage/issues/1592" rel="noreferrer noopener">#1592</a>) (<a href="https://github.com/googleapis/python-storage/commit/7fee3dd3390cfb5475a39d8f8272ea825dbda449" rel="noreferrer noopener">7fee3dd</a>)</li>
<li>Make <code>download_ranges</code> compatible with <code>asyncio.create_task(..)</code> (<a href="https://github.com/googleapis/python-storage/issues/1591" rel="noreferrer noopener">#1591</a>) (<a href="https://github.com/googleapis/python-storage/commit/faf8b83b1f0ac378f8f6f47ce33dc23a866090c9" rel="noreferrer noopener">faf8b83</a>)</li>
<li>Make <code>download_ranges</code> compatible with <code>asyncio.create_task(..)</code> (<a href="https://github.com/googleapis/python-storage/issues/1591" rel="noreferrer noopener">#1591</a>) (<a href="https://github.com/googleapis/python-storage/commit/faf8b83b1f0ac378f8f6f47ce33dc23a866090c9" rel="noreferrer noopener">faf8b83</a>)</li>
<li>Redact sensitive data from OTEL traces and fix env var parsing (<a href="https://github.com/googleapis/python-storage/issues/1553" rel="noreferrer noopener">#1553</a>) (<a href="https://github.com/googleapis/python-storage/commit/a38ca1977694def98f65ae7239e300a987bbd262" rel="noreferrer noopener">a38ca19</a>)</li>
<li>Redact sensitive data from OTEL traces and fix env var parsing (<a href="https://github.com/googleapis/python-storage/issues/1553" rel="noreferrer noopener">#1553</a>) (<a href="https://github.com/googleapis/python-storage/commit/a38ca1977694def98f65ae7239e300a987bbd262" rel="noreferrer noopener">a38ca19</a>)</li>
<li>Use separate header object for each upload in Transfer Manager MPU (<a href="https://github.com/googleapis/python-storage/issues/1595" rel="noreferrer noopener">#1595</a>) (<a href="https://github.com/googleapis/python-storage/commit/0d867bd4f405d2dbeca1edfc8072080c5a96c1cd" rel="noreferrer noopener">0d867bd</a>)</li>
</ul></section>
<section><h3 track-name="java">Java</h3><h4 id="2600_2025-11-07"><a href="https://github.com/googleapis/java-storage/compare/v2.59.0...v2.60.0" rel="noreferrer noopener">2.60.0</a> (2025-11-07)</h4>
<h5 id="features_3">Features</h5>
<ul>
<li>Add preview MultipartUploadClient#abortMultipartUpload https://github.com/googleapis/java-storage/pull/3361 (<a href="https://github.com/googleapis/java-storage/commit/160fa9af7aa492373a9d9b40f65a6c56d7cab5ef" rel="noreferrer noopener">160fa9a</a>)</li>
<li>Add preview MultipartUploadClient#completeMultipartUpload https://github.com/googleapis/java-storage/pull/3372 (<a href="https://github.com/googleapis/java-storage/commit/160fa9af7aa492373a9d9b40f65a6c56d7cab5ef" rel="noreferrer noopener">160fa9a</a>)</li>
<li>Add preview MultipartUploadClient#createMultipartUpload https://github.com/googleapis/java-storage/pull/3356 (<a href="https://github.com/googleapis/java-storage/commit/160fa9af7aa492373a9d9b40f65a6c56d7cab5ef" rel="noreferrer noopener">160fa9a</a>)</li>
<li>Add preview MultipartUploadClient#listParts https://github.com/googleapis/java-storage/pull/3359 (<a href="https://github.com/googleapis/java-storage/commit/160fa9af7aa492373a9d9b40f65a6c56d7cab5ef" rel="noreferrer noopener">160fa9a</a>)</li>
<li>Add preview MultipartUploadClient#uploadPart https://github.com/googleapis/java-storage/pull/3375 (<a href="https://github.com/googleapis/java-storage/commit/160fa9af7aa492373a9d9b40f65a6c56d7cab5ef" rel="noreferrer noopener">160fa9a</a>)</li>
<li>Add preview MultipartUploadSettings (<a href="https://github.com/googleapis/java-storage/commit/160fa9af7aa492373a9d9b40f65a6c56d7cab5ef" rel="noreferrer noopener">160fa9a</a>)</li>
</ul>
<h5 id="bug_fixes_7">Bug Fixes</h5>
<ul>
<li>Add new system property (com.google.cloud.storage.grpc.bound_token) to allow disabling bound token use with grpc (<a href="https://github.com/googleapis/java-storage/issues/3365" rel="noreferrer noopener">#3365</a>) (<a href="https://github.com/googleapis/java-storage/commit/ebf5e6d30d8dc197ab388a70cc0d465c0f740496" rel="noreferrer noopener">ebf5e6d</a>)</li>
<li>Call response.disconnect() after resolving resumable upload url (<a href="https://github.com/googleapis/java-storage/issues/3385" rel="noreferrer noopener">#3385</a>) (<a href="https://github.com/googleapis/java-storage/commit/ac3be4b7e82d9340ede7d527a26ffe3e2ba58909" rel="noreferrer noopener">ac3be4b</a>)</li>
<li><strong>deps:</strong> Update the Java code generator (gapic-generator-java) to 2.63.0 (<a href="https://github.com/googleapis/java-storage/commit/c1a8968799c1cf5a970fe9f303adccdad0a117c8" rel="noreferrer noopener">c1a8968</a>)</li>
</ul>
<h5 id="dependencies_3">Dependencies</h5>
<ul>
<li>Update dependency com.google.cloud:sdk-platform-java-config to v3.54.1 (<a href="https://github.com/googleapis/java-storage/issues/3381" rel="noreferrer noopener">#3381</a>) (<a href="https://github.com/googleapis/java-storage/commit/e3d3700e06de2b0113e1cb01e99ef4aeed3c62c9" rel="noreferrer noopener">e3d3700</a>)</li>
</ul></section>
</div>
]]>
    </content>
  </entry>

  <entry>
    <title>November 03, 2025</title>
    <id>tag:google.com,2016:storage-release-notes#November_03_2025</id>
    <updated>2025-11-03T00:00:00-08:00</updated>
    <link rel="alternate" href="https://docs.cloud.google.com/storage/docs/release-notes#November_03_2025"/>
    <content type="html"><![CDATA[<h3>Libraries</h3>
<div class="ds-selector-tabs" data-ds-scope="code-sample">
<section><h3 track-name="go">Go</h3><h4 id="1571_2025-10-28"><a href="https://github.com/googleapis/google-cloud-go/compare/storage/v1.57.0...storage/v1.57.1" rel="noreferrer noopener">1.57.1</a> (2025-10-28)</h4>
<h5 id="bug_fixes_5">Bug Fixes</h5>
<ul>
<li><strong>storage:</strong> Takeover idempotence. (<a href="https://github.com/googleapis/google-cloud-go/issues/13230" rel="noreferrer noopener">#13230</a>) (<a href="https://github.com/googleapis/google-cloud-go/commit/cc5d2a12293a509a14da9bea8a86c8655eaf4a71" rel="noreferrer noopener">cc5d2a1</a>)</li>
<li><strong>storage:</strong> Copy metadata when using Copier with grpc (<a href="https://github.com/googleapis/google-cloud-go/issues/12919" rel="noreferrer noopener">#12919</a>) (<a href="https://github.com/googleapis/google-cloud-go/commit/57a2e804f690ec8d4c55fd1c73b0dafd5cff46e5" rel="noreferrer noopener">57a2e80</a>)</li>
<li><strong>storage:</strong> Fix takeover response handling. (<a href="https://github.com/googleapis/google-cloud-go/issues/13239" rel="noreferrer noopener">#13239</a>) (<a href="https://github.com/googleapis/google-cloud-go/commit/26d75bc08e242348d26691877aba7fa68cf30f7f" rel="noreferrer noopener">26d75bc</a>)</li>
<li><strong>storage:</strong> Remove default timeout for gRPC operations (<a href="https://github.com/googleapis/google-cloud-go/issues/13022" rel="noreferrer noopener">#13022</a>) (<a href="https://github.com/googleapis/google-cloud-go/commit/b94c3ba69994d9c56ae8f302449dd8df6f287296" rel="noreferrer noopener">b94c3ba</a>)</li>
<li><strong>storage:</strong> Skip download of file outside of target dir (<a href="https://github.com/googleapis/google-cloud-go/issues/12945" rel="noreferrer noopener">#12945</a>) (<a href="https://github.com/googleapis/google-cloud-go/commit/6259aeec393d0d996961cac38396daa57ad1a290" rel="noreferrer noopener">6259aee</a>)</li>
<li><strong>storage:</strong> Upgrade gRPC service registration func (<a href="https://github.com/googleapis/google-cloud-go/commit/8fffca2819fa3dc858c213aa0c503e0df331b084" rel="noreferrer noopener">8fffca2</a>)</li>
</ul></section>
</div>
]]>
    </content>
  </entry>

  <entry>
    <title>October 27, 2025</title>
    <id>tag:google.com,2016:storage-release-notes#October_27_2025</id>
    <updated>2025-10-27T00:00:00-07:00</updated>
    <link rel="alternate" href="https://docs.cloud.google.com/storage/docs/release-notes#October_27_2025"/>
    <content type="html"><![CDATA[<h3>Libraries</h3>
<div class="ds-selector-tabs" data-ds-scope="code-sample">
<section><h3 track-name="java">Java</h3><h4 id="2590_2025-10-21"><a href="https://github.com/googleapis/java-storage/compare/v2.58.1...v2.59.0" rel="noreferrer noopener">2.59.0</a> (2025-10-21)</h4>
<h5 id="features">Features</h5>
<ul>
<li>Add per-message checksum validation for gRPC ReadObject operations (<a href="https://github.com/googleapis/java-storage/issues/3336" rel="noreferrer noopener">#3336</a>) (<a href="https://github.com/googleapis/java-storage/commit/6eef1b0f587b9f32041ac4bcef1a16b1b0bc4bb3" rel="noreferrer noopener">6eef1b0</a>)</li>
</ul>
<h5 id="bug_fixes_4">Bug Fixes</h5>
<ul>
<li>Add case insensitive check for X-Goog-Content-SHA256 in SignatureInfo (<a href="https://github.com/googleapis/java-storage/issues/3337" rel="noreferrer noopener">#3337</a>) (<a href="https://github.com/googleapis/java-storage/commit/54bc2c12f2d0e8c164e4ddcaa1a61d2de3911131" rel="noreferrer noopener">54bc2c1</a>)</li>
<li>Migrate away from GoogleCredentials.fromStream() usages (<a href="https://github.com/googleapis/java-storage/issues/3339" rel="noreferrer noopener">#3339</a>) (<a href="https://github.com/googleapis/java-storage/commit/7e42c2fbca53ca6b1266f784e58cee00cfed7d62" rel="noreferrer noopener">7e42c2f</a>)</li>
<li>Update BlobReadSession channels to not implicitly close once EOF is observed (<a href="https://github.com/googleapis/java-storage/issues/3344" rel="noreferrer noopener">#3344</a>) (<a href="https://github.com/googleapis/java-storage/commit/9f0a93eb4c6bb8aab13915ca1cb40ba9e229a2f9" rel="noreferrer noopener">9f0a93e</a>)</li>
<li>Update grpc single-shot uploads to attach the callers stracktrace as suppressed exception if an error happens in the background (<a href="https://github.com/googleapis/java-storage/issues/3330" rel="noreferrer noopener">#3330</a>) (<a href="https://github.com/googleapis/java-storage/commit/64e2b2ef839e69da0605b9e53989c1f5a2b09e66" rel="noreferrer noopener">64e2b2e</a>)</li>
<li>Update retry logic for grpc start resumable upload to properly handle client side deadline_exceeded (<a href="https://github.com/googleapis/java-storage/issues/3354" rel="noreferrer noopener">#3354</a>) (<a href="https://github.com/googleapis/java-storage/commit/6eb33311d8dd7344e30ddcb92334fd52c7c63b4d" rel="noreferrer noopener">6eb3331</a>)</li>
</ul>
<h5 id="dependencies_2">Dependencies</h5>
<ul>
<li>Update dependency com.google.cloud:sdk-platform-java-config to v3.53.0 (<a href="https://github.com/googleapis/java-storage/issues/3351" rel="noreferrer noopener">#3351</a>) (<a href="https://github.com/googleapis/java-storage/commit/e64565ab674f586ea4850408a3f30544997f4b1b" rel="noreferrer noopener">e64565a</a>)</li>
</ul></section>
</div>
]]>
    </content>
  </entry>

  <entry>
    <title>October 23, 2025</title>
    <id>tag:google.com,2016:storage-release-notes#October_23_2025</id>
    <updated>2025-10-23T00:00:00-07:00</updated>
    <link rel="alternate" href="https://docs.cloud.google.com/storage/docs/release-notes#October_23_2025"/>
    <content type="html"><![CDATA[<h3>Feature</h3>
<p>You can now use <a href="https://docs.cloud.google.com/storage/docs/batch-operations/overview">Storage batch operations</a> to create and manage <a href="https://docs.cloud.google.com/storage/docs/metadata#retention-config">retention configurations</a> for objects in bulk using the <code>PutMetadata</code> transformation.</p>
]]>
    </content>
  </entry>

  <entry>
    <title>October 20, 2025</title>
    <id>tag:google.com,2016:storage-release-notes#October_20_2025</id>
    <updated>2025-10-20T00:00:00-07:00</updated>
    <link rel="alternate" href="https://docs.cloud.google.com/storage/docs/release-notes#October_20_2025"/>
    <content type="html"><![CDATA[<h3>Libraries</h3>
<div class="ds-selector-tabs" data-ds-scope="code-sample">
<section><h3 track-name="go">Go</h3><h4 id="1563_2025-10-14"><a href="https://github.com/googleapis/google-cloud-go/compare/storage/v1.56.2...storage/v1.56.3" rel="noreferrer noopener">1.56.3</a> (2025-10-14)</h4>
<h5 id="bug_fixes_3">Bug Fixes</h5>
<ul>
<li><strong>storage:</strong> Persist resource in append retry (<a href="https://github.com/googleapis/google-cloud-go/issues/13128" rel="noreferrer noopener">#13128</a>) (<a href="https://github.com/googleapis/google-cloud-go/commit/9ad2100ab53801be483492e8ff87662c43c846f8" rel="noreferrer noopener">9ad2100</a>)</li>
</ul></section>
</div>
]]>
    </content>
  </entry>

  <entry>
    <title>October 13, 2025</title>
    <id>tag:google.com,2016:storage-release-notes#October_13_2025</id>
    <updated>2025-10-13T00:00:00-07:00</updated>
    <link rel="alternate" href="https://docs.cloud.google.com/storage/docs/release-notes#October_13_2025"/>
    <content type="html"><![CDATA[<h3>Libraries</h3>
<div class="ds-selector-tabs" data-ds-scope="code-sample">
<section><h3 track-name="java">Java</h3><h4 id="2581_2025-10-06"><a href="https://github.com/googleapis/java-storage/compare/v2.58.0...v2.58.1" rel="noreferrer noopener">2.58.1</a> (2025-10-06)</h4>
<h5 id="bug_fixes">Bug Fixes</h5>
<ul>
<li><strong>deps:</strong> Update the Java code generator (gapic-generator-java) to 2.62.3 (<a href="https://github.com/googleapis/java-storage/commit/ba847937e553f6a47aa459f634f63ed42310762d" rel="noreferrer noopener">ba84793</a>)</li>
<li>Update BlobReadSession ScatteringByteChannel projection to use less CPU (<a href="https://github.com/googleapis/java-storage/issues/3324" rel="noreferrer noopener">#3324</a>) (<a href="https://github.com/googleapis/java-storage/commit/678feccc972e557380e9ba5fcd52be099440197d" rel="noreferrer noopener">678fecc</a>)</li>
<li>Update DefaultRetryContext to trap and forward RejectedExceptionException to onFailure (<a href="https://github.com/googleapis/java-storage/issues/3327" rel="noreferrer noopener">#3327</a>) (<a href="https://github.com/googleapis/java-storage/commit/1be31bdfbc0283733e86b049d3be1911db50fb96" rel="noreferrer noopener">1be31bd</a>)</li>
<li>Update PCU request building logic to properly clear crc32c and md5 (<a href="https://github.com/googleapis/java-storage/issues/3323" rel="noreferrer noopener">#3323</a>) (<a href="https://github.com/googleapis/java-storage/commit/4da9f3108d27f5c2ed3cc39eec161651f421e4db" rel="noreferrer noopener">4da9f31</a>)</li>
</ul>
<h5 id="dependencies">Dependencies</h5>
<ul>
<li>Update dependency com.google.apis:google-api-services-storage to v1-rev20250925-2.0.0 (<a href="https://github.com/googleapis/java-storage/issues/3313" rel="noreferrer noopener">#3313</a>) (<a href="https://github.com/googleapis/java-storage/commit/ab310eb5af51ed332329abd6c3441d18f9965571" rel="noreferrer noopener">ab310eb</a>)</li>
<li>Update dependency com.google.cloud:sdk-platform-java-config to v3.52.3 (<a href="https://github.com/googleapis/java-storage/issues/3325" rel="noreferrer noopener">#3325</a>) (<a href="https://github.com/googleapis/java-storage/commit/4d3e3be27811ad92becc93321048c4268cec2fcf" rel="noreferrer noopener">4d3e3be</a>)</li>
<li>Update googleapis/sdk-platform-java action to v2.62.3 (<a href="https://github.com/googleapis/java-storage/issues/3322" rel="noreferrer noopener">#3322</a>) (<a href="https://github.com/googleapis/java-storage/commit/a5808ea168a81f07040276c1a05da67108fda37f" rel="noreferrer noopener">a5808ea</a>)</li>
</ul></section>
<section><h3 track-name="python">Python</h3><h4 id="341_2025-10-08"><a href="https://github.com/googleapis/python-storage/compare/v3.4.0...v3.4.1" rel="noreferrer noopener">3.4.1</a> (2025-10-08)</h4>
<h5 id="bug_fixes_2">Bug Fixes</h5>
<ul>
<li>Fixes <a href="https://github.com/googleapis/python-storage/issues/1561" rel="noreferrer noopener">#1561</a> by adding an option to specify the entire object checksum for resumable uploads via the <code>upload_from_string</code>, <code>upload_from_file</code>, and <code>upload_from_filename</code> methods (<a href="https://github.com/googleapis/python-storage/commit/acb918e20f7092e13d72fc63fe4ae2560bfecd40" rel="noreferrer noopener">acb918e</a>)</li>
</ul></section>
</div>
]]>
    </content>
  </entry>

  <entry>
    <title>September 30, 2025</title>
    <id>tag:google.com,2016:storage-release-notes#September_30_2025</id>
    <updated>2025-09-30T00:00:00-07:00</updated>
    <link rel="alternate" href="https://docs.cloud.google.com/storage/docs/release-notes#September_30_2025"/>
    <content type="html"><![CDATA[<h3>Feature</h3>
<p><a href="https://cloud.google.com/storage/docs/object-contexts">Object contexts</a> are now available in <a href="https://cloud.google.com/products#product-launch-stages">Preview</a>. Object contexts let you attach contextual
information to your objects to help you manage and discover data.</p>
]]>
    </content>
  </entry>

  <entry>
    <title>September 29, 2025</title>
    <id>tag:google.com,2016:storage-release-notes#September_29_2025</id>
    <updated>2025-09-29T00:00:00-07:00</updated>
    <link rel="alternate" href="https://docs.cloud.google.com/storage/docs/release-notes#September_29_2025"/>
    <content type="html"><![CDATA[<h3>Libraries</h3>
<div class="ds-selector-tabs" data-ds-scope="code-sample">
<section><h3 track-name="java">Java</h3><h4 id="2580_2025-09-23"><a href="https://github.com/googleapis/java-storage/compare/v2.57.0...v2.58.0" rel="noreferrer noopener">2.58.0</a> (2025-09-23)</h4>
<h5 id="features_9">Features</h5>
<ul>
<li><strong>storagecontrol:</strong> Add GetIamPolicy, SetIamPolicy, and TestIamPermissions RPCs (<a href="https://github.com/googleapis/java-storage/commit/c884551048a323f2a3fd7aaf4fce469d4d4f543e" rel="noreferrer noopener">c884551</a>)</li>
</ul>
<h5 id="bug_fixes_12">Bug Fixes</h5>
<ul>
<li><strong>deps:</strong> Update the Java code generator (gapic-generator-java) to 2.62.2 (<a href="https://github.com/googleapis/java-storage/commit/984f8ca23a38c7a892a2256a694b72431e44aa27" rel="noreferrer noopener">984f8ca</a>)</li>
<li>Fix appendable upload finalization race condition (<a href="https://github.com/googleapis/java-storage/issues/3295" rel="noreferrer noopener">#3295</a>) (<a href="https://github.com/googleapis/java-storage/commit/485be184c08c7b857d8c9a9443f32903df879b23" rel="noreferrer noopener">485be18</a>)</li>
<li>Fix IllegalMonitorStateException thrown from BlobAppendableUpload.isOpen() (<a href="https://github.com/googleapis/java-storage/issues/3302" rel="noreferrer noopener">#3302</a>) (<a href="https://github.com/googleapis/java-storage/commit/aa904688b784d7427454318196ef88628e415246" rel="noreferrer noopener">aa90468</a>)</li>
<li>Update object context diff logic to be shallow rather than deep (<a href="https://github.com/googleapis/java-storage/issues/3287" rel="noreferrer noopener">#3287</a>) (<a href="https://github.com/googleapis/java-storage/commit/2fd15f69e93a3df2b8dbbd4f08edd07c087e957c" rel="noreferrer noopener">2fd15f6</a>)</li>
</ul>
<h5 id="dependencies_6">Dependencies</h5>
<ul>
<li>Update dependency com.google.cloud:sdk-platform-java-config to v3.52.2 (<a href="https://github.com/googleapis/java-storage/issues/3298" rel="noreferrer noopener">#3298</a>) (<a href="https://github.com/googleapis/java-storage/commit/1489f3a74c8a27f0888c40600c83adedcfd9a9ec" rel="noreferrer noopener">1489f3a</a>)</li>
<li>Update googleapis/sdk-platform-java action to v2.62.2 (<a href="https://github.com/googleapis/java-storage/issues/3299" rel="noreferrer noopener">#3299</a>) (<a href="https://github.com/googleapis/java-storage/commit/c3b05ac8798140f9ddcab098948a3a2f3638dc6b" rel="noreferrer noopener">c3b05ac</a>)</li>
</ul></section>
<section><h3 track-name="go">Go</h3><h4 id="1570_2025-09-23"><a href="https://github.com/googleapis/google-cloud-go/compare/storage/v1.56.1...storage/v1.57.0" rel="noreferrer noopener">1.57.0</a> (2025-09-23)</h4>
<h5 id="features_10">Features</h5>
<ul>
<li><strong>storage/control:</strong> Add new GetIamPolicy, SetIamPolicy, and TestIamPermissions RPCs (<a href="https://github.com/googleapis/google-cloud-go/commit/d73f9123be77bb3278f48d510cd0fb22feb605bc" rel="noreferrer noopener">d73f912</a>)</li>
<li><strong>storage:</strong> Post support dynamic key name (<a href="https://github.com/googleapis/google-cloud-go/issues/12677" rel="noreferrer noopener">#12677</a>) (<a href="https://github.com/googleapis/google-cloud-go/commit/9e761f961a2c4351b3e0793ed655314ac5853903" rel="noreferrer noopener">9e761f9</a>)</li>
<li><strong>storage:</strong> WithMeterProvider allows custom meter provider configuration (<a href="https://github.com/googleapis/google-cloud-go/issues/12668" rel="noreferrer noopener">#12668</a>) (<a href="https://github.com/googleapis/google-cloud-go/commit/7f574b01e0b454c1ef5c13e6a58075e394ee990d" rel="noreferrer noopener">7f574b0</a>)</li>
</ul>
<h5 id="bug_fixes_13">Bug Fixes</h5>
<ul>
<li><strong>storage:</strong> Free buffers in Bidi Reader (<a href="https://github.com/googleapis/google-cloud-go/issues/12839" rel="noreferrer noopener">#12839</a>) (<a href="https://github.com/googleapis/google-cloud-go/commit/bc247fdc3f5234a8bd6934e58d5b0b578f1335cb" rel="noreferrer noopener">bc247fd</a>)</li>
<li><strong>storage:</strong> Make Writer thread-safe. (<a href="https://github.com/googleapis/google-cloud-go/issues/12753" rel="noreferrer noopener">#12753</a>) (<a href="https://github.com/googleapis/google-cloud-go/commit/9ea380bea5b980a9054d201be4f315a195da2182" rel="noreferrer noopener">9ea380b</a>)</li>
<li><strong>storage:</strong> No progress report for oneshot write (<a href="https://github.com/googleapis/google-cloud-go/issues/12746" rel="noreferrer noopener">#12746</a>) (<a href="https://github.com/googleapis/google-cloud-go/commit/b97c286ec369a10a81b1a8a3a1aae18b46d2dfbc" rel="noreferrer noopener">b97c286</a>)</li>
</ul>
<h5 id="performance_improvements_2">Performance Improvements</h5>
<ul>
<li><strong>storage:</strong> Pipeline gRPC writes (<a href="https://github.com/googleapis/google-cloud-go/issues/12422" rel="noreferrer noopener">#12422</a>) (<a href="https://github.com/googleapis/google-cloud-go/commit/1f2c5fe2843724302086fe04cb8dab8b515969c5" rel="noreferrer noopener">1f2c5fe</a>)</li>
</ul></section>
</div>
]]>
    </content>
  </entry>

  <entry>
    <title>September 22, 2025</title>
    <id>tag:google.com,2016:storage-release-notes#September_22_2025</id>
    <updated>2025-09-22T00:00:00-07:00</updated>
    <link rel="alternate" href="https://docs.cloud.google.com/storage/docs/release-notes#September_22_2025"/>
    <content type="html"><![CDATA[<h3>Libraries</h3>
<div class="ds-selector-tabs" data-ds-scope="code-sample">
<section><h3 track-name="python">Python</h3><h4 id="340_2025-09-15"><a href="https://github.com/googleapis/python-storage/compare/v3.3.1...v3.4.0" rel="noreferrer noopener">3.4.0</a> (2025-09-15)</h4>
<h5 id="features_8">Features</h5>
<ul>
<li><strong>experimental:</strong> Add async grpc client (<a href="https://github.com/googleapis/python-storage/issues/1537" rel="noreferrer noopener">#1537</a>) (<a href="https://github.com/googleapis/python-storage/commit/ac57b8d819a49aef0ed0cb5bb630bf11012f43e3" rel="noreferrer noopener">ac57b8d</a>)</li>
<li><strong>experimental:</strong> Add grpc client (<a href="https://github.com/googleapis/python-storage/issues/1533" rel="noreferrer noopener">#1533</a>) (<a href="https://github.com/googleapis/python-storage/commit/5674587f2aa347ec2787f2bc1e847eaa294bc1ca" rel="noreferrer noopener">5674587</a>)</li>
</ul>
<h5 id="bug_fixes_10">Bug Fixes</h5>
<ul>
<li>GAPIC generation failed with 'Directory not empty' (<a href="https://github.com/googleapis/python-storage/issues/1542" rel="noreferrer noopener">#1542</a>) (<a href="https://github.com/googleapis/python-storage/commit/c80d8207a8661b84c56cd66bb34de7b5704675b8" rel="noreferrer noopener">c80d820</a>)</li>
</ul></section>
<section><h3 track-name="go">Go</h3><h4 id="1562_2025-09-15"><a href="https://github.com/googleapis/google-cloud-go/compare/storage/v1.56.1...storage/v1.56.2" rel="noreferrer noopener">1.56.2</a> (2025-09-15)</h4>
<h5 id="bug_fixes_11">Bug Fixes</h5>
<ul>
<li><strong>storage:</strong> Free buffers in Bidi Reader (<a href="https://github.com/googleapis/google-cloud-go/issues/12839" rel="noreferrer noopener">#12839</a>) (<a href="https://github.com/googleapis/google-cloud-go/commit/10c8faccc2dae2a8177ff30ab16d67413df9f536" rel="noreferrer noopener">10c8fac</a>)</li>
</ul></section>
</div>
]]>
    </content>
  </entry>

  <entry>
    <title>September 17, 2025</title>
    <id>tag:google.com,2016:storage-release-notes#September_17_2025</id>
    <updated>2025-09-17T00:00:00-07:00</updated>
    <link rel="alternate" href="https://docs.cloud.google.com/storage/docs/release-notes#September_17_2025"/>
    <content type="html"><![CDATA[<h3>Feature</h3>
<p>The <code>bucket_attributes_view</code> and <code>bucket_attributes_latest_snapshot_view</code> tables in <a href="https://docs.cloud.google.com/storage/docs/insights/datasets">Storage Insights datasets</a> are updated with two new fields: <code>objectCount</code> and <code>totalSize</code>. <code>objectCount</code> reflects the total number of objects in the bucket and <code>totalSize</code> reflects the total size of the bucket in bytes. The tables are automatically updated with the new fields in all existing datasets and are included in all new dataset configurations.</p>
]]>
    </content>
  </entry>

  <entry>
    <title>September 15, 2025</title>
    <id>tag:google.com,2016:storage-release-notes#September_15_2025</id>
    <updated>2025-09-15T00:00:00-07:00</updated>
    <link rel="alternate" href="https://docs.cloud.google.com/storage/docs/release-notes#September_15_2025"/>
    <content type="html"><![CDATA[<h3>Libraries</h3>
<div class="ds-selector-tabs" data-ds-scope="code-sample">
<section><h3 track-name="java">Java</h3><h4 id="2570_2025-09-09"><a href="https://github.com/googleapis/java-storage/compare/v2.56.0...v2.57.0" rel="noreferrer noopener">2.57.0</a> (2025-09-09)</h4>
<h5 id="features_7">Features</h5>
<ul>
<li>Add BlobInfo.ObjectContexts (<a href="https://github.com/googleapis/java-storage/issues/3259" rel="noreferrer noopener">#3259</a>) (<a href="https://github.com/googleapis/java-storage/commit/485aefd3047c52c98d8bd913033c8aee1473e988" rel="noreferrer noopener">485aefd</a>)</li>
</ul>
<h5 id="bug_fixes_9">Bug Fixes</h5>
<ul>
<li><strong>deps:</strong> Update the Java code generator (gapic-generator-java) to 2.62.1 (<a href="https://github.com/googleapis/java-storage/commit/0e348dbee247e1e65713d0155e1aa29ae5c5e0e4" rel="noreferrer noopener">0e348db</a>)</li>
<li>Update BlobAppendableUpload implementation to periodically flush for large writes (<a href="https://github.com/googleapis/java-storage/issues/3278" rel="noreferrer noopener">#3278</a>) (<a href="https://github.com/googleapis/java-storage/commit/d0ffe18084b32936c889bb280005294c7ae7064d" rel="noreferrer noopener">d0ffe18</a>)</li>
<li>Update otel integration to properly activate span context for lazy RPCs such as reads &amp; writes pt.2 (<a href="https://github.com/googleapis/java-storage/issues/3277" rel="noreferrer noopener">#3277</a>) (<a href="https://github.com/googleapis/java-storage/commit/3240f67c192a855c92256526aeb2fa689ea15445" rel="noreferrer noopener">3240f67</a>)</li>
</ul>
<h5 id="dependencies_5">Dependencies</h5>
<ul>
<li>Update dependency com.google.cloud:sdk-platform-java-config to v3.52.1 (<a href="https://github.com/googleapis/java-storage/issues/3280" rel="noreferrer noopener">#3280</a>) (<a href="https://github.com/googleapis/java-storage/commit/d046ea3da19288b64c48300bdd4f94a0ebf35458" rel="noreferrer noopener">d046ea3</a>)</li>
<li>Update googleapis/sdk-platform-java action to v2.62.1 (<a href="https://github.com/googleapis/java-storage/issues/3281" rel="noreferrer noopener">#3281</a>) (<a href="https://github.com/googleapis/java-storage/commit/c9078bb98e3999234f95ab2e4c842c9dd7191c3d" rel="noreferrer noopener">c9078bb</a>)</li>
</ul></section>
</div>
]]>
    </content>
  </entry>

</feed>
