Skip to content

Latest commit

 

History

History
304 lines (195 loc) · 18.5 KB

File metadata and controls

304 lines (195 loc) · 18.5 KB

Changelog

NOTE: Future Breaking Changes lists anticipated breaking changes in the upcoming 4.x release. This release is scheduled for 2027-12 or 2028-01.

NOTE: Please refer to the V3 Migration Guide for details on updating existing applications using v1.x.y or v2.x.y.

v3.11.0 - TBD

v3.10.0 - 2026-09

Debian Bullseye EOL

We have stopped supporting Debian 11 (Bullseye) as it has reached EOL.

GDCH Service Identity Authentication

  • Support for authenticating with GDCH Service Identity credentials for both REST and gRPC endpoints is now available.
  • fix(storage): ensure thread-safe stream resumption in ObjectDescriptorImpl (#16440)
  • fix(storage): bypass full object checksum validation on unfinalized objects in ObjectDescriptorImpl (#16435)
  • fix(storage): track persisted byte offset for async writer flush promises (#16417)
  • fix(storage): add unit tests for ReadRange bounded and unbounded completions (#16419)
  • fix(storage): support download stall timeout in async BiDi reads (#16418)
  • fix(rest): merge env vars when setting CURLOPT_NOPROXY (#16420)

v3.9.0 - 2026-09

Dependency version update

  • Updated minimum version of libcurl from 7.74.0 to 8.7.1. This was done primarily to avoid a known bug introduced in libcurl 8.5.0. For more information, see Issue #16343.

New Libraries

We are happy to announce the following GA libraries. Unless specifically noted, the APIs in these libraries are stable, and are ready for production use.

  • feat(bigtable): enable directpath probe and cloudpath fallback with diagnostics (#16388)
  • feat(storage): separate read and hedging thread pools (#16389)
  • fix!: require minimum libcurl 8.7.1 to fix curl bug (#16375)
  • fix(storage): guard against overlapping stream requests in AsyncWriterConnectionBuffered (#16364)
  • feat(storage): Add more test coverage for initial read ranges in AsyncClient::Open() (#16357)
  • feat(storage): implement TTFB speculative hedging with configurable connect timeouts (#16344)
  • fix(storage): do not retry permanent errors in async writer resume (#16340)
  • feat(storage): expose initial read ranges in AsyncClient (#16341)
  • fix(storage): do not close object descriptor span on reader completion (#16321)
  • feat(storage): add telemetry for pre-warmed ranges in ObjectDescriptorImpl (#16323)

v3.8.0 - 2026-08

Removed Libraries

  • The parallelstore client library has been removed because the Parallelstore service has been deprecated.

New Libraries

We are happy to announce the following GA libraries. Unless specifically noted, the APIs in these libraries are stable, and are ready for production use.

  • The library has been expanded to include the QuotaAdjusterSettingsManager service.
  • The library has been expanded to include the Backups and FeatureEligibility services.
  • fix(pubsub): avoid deadlock by ensuring lease refresh timer runs on cq thread (#16297)
  • fix(storage): remove duplicate Query calls from AsyncWriterConnectionBuffered and AsyncWriterConnectionResumed (#16315)
  • feat(storage): formally deprecate MD5HashValue and Crc32cChecksumValue (#16311)
  • fix(storage): limit retries in InsertObjectWithBadChecksum sample (#16322)
  • feat(storage): implement pacing & eviction for pre-warmed ranges in ObjectDescriptorImpl (#16309)
  • fix(storage): redesign AsyncWriterConnectionImpl Flush and Query (#16307)
  • feat(storage): support pre-warming read ranges in AsyncConnection (#16275)
  • fix(storage): Use append_object_spec in EnrichSpan for ResumeAppendableUpload (#16296)
  • feat(storage): Make PrecomputedChecksumsOption compatible with Options (#16295)
  • feat(storage): add resource span attributes for ACO ( App Centric Observability ) for rewrite API in async client (#16285)
  • feat(storage): add resource span attributes for ACO ( App Centric Observability ) for async client (#16151)
  • fix(storage): consume server responses before finishing stream in AsyncWriter Close/Finalize (#16270)
  • feat(storage): migrate sync client to unified checksum options (#16264)
  • fix(storage): preserve flush state across concurrent flushes in async writers (#16274)
  • feat(storage): add support for bucket metadata call in async client (#16262)
  • feat(storage): add resource span attributes for ACO ( App Centric Observability ) (#16119)
  • feat(storage): Migrate async client to unified checksum options (#16261)
  • feat(storage): introduce unified checksum options and deprecate old options (#16260)
  • fix(storage): prevent indefinite hang when calling Close() on async appendable uploads (#16255)

v3.7.0 - 2026-07

Removed Libraries

  • The pubsublite client library has been removed because the Pub/Sub Lite service has been turned down.

New Libraries

We are happy to announce the following GA libraries. Unless specifically noted, the APIs in these libraries are stable, and are ready for production use.

  • Explicit instance declaration is now encouraged during client initialization via a new overload of MakeDataConnection that takes a std::vector<InstanceResource>. Specifying the target instances at client startup enables optimizing connection pooling (pre-warming/priming channels) and telemetry. The experimental InstanceChannelAffinityOption has been removed; the new MakeDataConnection overload should be used instead.

    #include "google/cloud/bigtable/data_connection.h"
    
    namespace cbt = ::google::cloud::bigtable;
    
    auto connection = cbt::MakeDataConnection(
        {cbt::InstanceResource(google::cloud::Project("my-project"), "my-instance")},
        google::cloud::Options{});
  • fix(bigtable): safely handle error states in metadata retrieval (#16225)

  • cleanup(bigtable)!: remove experimental InstanceChannelAffinityOption (#16213)

  • feat(bigtable): add explicit instance MakeDataConnection (#16191)

  • feat(bigtable): Add support for adding tags to an Instance in InstanceConfig (#16014)

  • fix(bigtable): DynamicChannelPoolSizingPolicyOption used correctly (#16188)

  • feat(storage): Add full object checksum validation for appendable uploads finalize (#16245)
  • fix(storage): enforce mutual exclusion between Close() and Finalize() in async writers (#16211)
  • fix(storage): add Close() support to AsyncWriterConnectionResumed (#16163)

v3.6.0 - 2026-06

New Libraries

We are happy to announce the following GA libraries. Unless specifically noted, the APIs in these libraries are stable, and are ready for production use.

Updated Libraries

  • [Network Security API] has been updated with several additional services (#16122)

Auth

  • fix(storage): avoid premature flush completion and concurrent writes in AsyncWriterConnectionBuffered (#16169)
  • feat(storage): implement GCS overrun logging and resume prevention (#16150)
  • fix(storage): add Close() support to AsyncWriterConnectionBuffered (#16145)
  • fix(storage): Set the idempotency token for async rewrites (#16114)
  • fix(storage): Add telemetry tracing support for async stream Close() (#16118)
  • feat(storage): Add full object read checksum validation for Open (#16120)
  • fix(storage): use server-reported size and crc on stream reconnect to avoid duplicate writes (#16115)
  • fix(storage): Implement clean half-close stream teardown for appendable uploads (#16112)
  • feat(storage): Add full object checksum validation for appendable uploads (#16110)
  • feat(storage): Add read chunkwise checksum validation for sync grpc read (#16107)
  • fix(storage): Resolve potential race condition in AsyncWriterConnectionImpl (#16099)
  • feat(storage): Add delete object source field in ComposeObject API (#16094)
  • feat(storage): Extend idempotency token use to all async mutation operations (#16100)
  • fix: remove deprecated ATOMIC_VAR_INIT usage (#16127)
  • fix(testing_util): link opentelemetry-cpp SDK as PUBLIC (#16101)

v3.5.0 - 2026-05

  • fix(bigtable): treat NOT_FOUND and PERMISSION_DENIED on channel refresh as success (#16086)
  • feat(bigtable): add DeadlineOption (#16085)
  • fix(storage): Reset write offset on gRPC BidiWriteObject resumable uploads (#16083)
  • fix(storage): Handle request transformation after gRPC BidiWriteObject redirects (#16073)

v3.4.0 - 2026-04

  • Added Data Lineage Config Management library.(#16069)
  • Added Business Glossary library.(#16072)
  • Added CMEK library.(#16072)
  • Added Data Products library.(#16072)
  • feat(spanner): set read lock mode at client level (#16068)
  • feat(storage): add IsOpen API for zonal read operation (#16063)

v3.3.0 - 2026-03

New Libraries

We are happy to announce the following GA libraries. Unless specifically noted, the APIs in these libraries are stable, and are ready for production use.

  • feat(storage): Get/Insert/Update/Patch Object contexts (#15933)

v3.2.0 - 2026-02

  • feat: Added DeleteCryptoKey and DeleteCryptoKeyVersion RPCs to permanently remove resources.
  • feat: Introduced the RetiredResource resource to track records of deleted keys and prevent the reuse of their resource names.
  • feat: Added ListRetiredResources and GetRetiredResource RPCs to manage and view these records.

v3.1.0 - 2026-02

Default Retry Policy Changes

All libraries except Bigtable, PubSub, Spanner, and Storage have had their default maximum retry policy duration reduced from 30 minutes to 10 minutes.

v3.0.0 - 2026-02

BREAKING CHANGES

As previously announced, google-cloud-cpp now requires C++ >= 17. This is motivated by similar changes in our dependencies, and because C++ 17 has been the default C++ version in all the compilers we support for several years.

We think this change is large enough that deserves a major version bump to signal the new requirements. Additionally, we have decommissioned previously deprecated API features and have also made some previously optional dependencies required.

NOTE: Please refer to the V3 Migration Guide for details on updating existing applications using v1.x.y or v2.x.y.