[go: nahoru, domu]

Skip to content

Releases: googleapis/google-cloud-cpp

v2.26.0

01 Jul 15:17
81505b7
Compare
Choose a tag to compare

BREAKING TESTING CHANGES

If you don't mock Long Running Operations (LRO) in your tests, then these
changes will not affect you.

With the addition of new methods to support starting Long Running Operations
(LRO) synchronously and awaiting their completion separately, the overload set
for the preexisting LRO methods have been expanded. Uses of EXPECT_CALL that
do not have matchers for the arguments will be ambiguous. To quickly remedy this
change instances of EXPECT_CALL(*mock, Method) to
EXPECT_CALL(*mock, Method(::testing::_)).

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

  • Discovery Engine:
    • ControlServiceClient added
    • GroundedGenerationServiceClient added
    • ProjectServiceClient added
    • RankServiceClient added

Bigtable

  • docs(bigtable): include admin options (#14358)

Pub/Sub

  • docs(pubsub): include admin options (#14359)

Spanner

  • docs(spanner): include admin options (#14360)

Storage

  • feat(storage): support object retention (#14351)
  • feat(storage): buckets with object retention (#14350)

StorageControl

  • samples(storagecontrol): add storagecontrol managed folder samples (#14356)
  • samples(storagecontrol): add storagecontrol folder samples (#14332)

Common Libraries

  • New (experimental) functions to start a LRO (longrunning operation) in one
    function call, and then awaiting for the LRO to complete on a separate
    function.
  • fix(otel): async read stream tracing (#14393)
  • fix(otel): async write stream tracing (#14394)
  • feat(otel): capture error message in traces (again) (#14389)
  • doc: document Start and Await methods and mocks (#14375)
  • fix(otel): async read write stream tracing (#14379)

Google APIs interface definitions

v2.25.0

04 Jun 19:02
3294aa8
Compare
Choose a tag to compare

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

  • KMS - new AutokeyClient and AutokeyAdminClient

Pub/Sub

  • docs(pubsub): add optimistic subscribe example (#14272)

Spanner

  • feat(spanner): add Interval justification (#14123)
  • fix(spanner): correct use of Interval offset in Timestamp addition (#14121)
  • feat(spanner): add Interval/Timestamp/time-zone operations (#14120)

Security Center

  • feat(securitycenter): re-enable on windows (#14282)

Storage

  • feat(storage): Respect custom endpoint for SignedUrl (#14179)

Common Libraries

  • fix(bazel): do not reference repo name (#14287)
  • fix(common): support libc++ >= 18.1 (#14151)
  • fix(common): out of range access in handle cleanup (#14134)

Google APIs interface definitions

v2.24.0

02 May 04:06
f55d86a
Compare
Choose a tag to compare

No longer testing with MSVC 2019

We have stopped testing with MSVC 2019. Microsoft stopped mainstream support for MSVC 2019 in 2024-04. We continue to test with MSVC 2022. We recommend that you update to this version. Note that, in accordance with Google's Foundational C++ support policy, other Google libraries have stopped (or shortly will stop) testing with MSVC 2019 too.

Updated Libraries

  • AI Platform API - new FeatureRegistryServiceClient and GenAiTuningServiceClient
  • Cloud Dataplex API - new DataScanServiceClient and DataTaxonomyServiceClient
  • Cloud SQL Admin API - several new clients:
    • SqlAvailableDatabaseVersionsServiceClient
    • SqlEventsServiceClient
    • SqlIamPoliciesServiceClient
    • SqlInstanceNamesServiceClient
    • SqlRegionsServiceClient
  • Content Warehouse - new PipelineServiceClient
  • Dataproc - new SessionControllerClient and SessionTemplateControllerClient
  • Dialogflow CX API - new GeneratorsClient
  • Discovery Engine - several new clients:
    • DataStoreServiceClient
    • EngineServiceClient
    • RecommendationServiceClient
    • SiteSearchEngineServiceClient
  • Network Connectivity API - new PolicyBasedRoutingServiceClient
  • Retail - new AnalyticsServiceClient

Datastore

  • feat(datastore): emulator environment variable (#14100)

Pub/Sub

  • fix(pubsub): correctly trace modacks in the unary pull (#14049)

Spanner

  • fix(spanner): avoid absl types in public Interval API (#14095)
  • feat(spanner): add a representation for the Spanner INTERVAL (#14059)
  • fix(spanner): delete idle sessions upon SessionPool destruction (#14012)

Storage

  • fix(storage): missing include (#14052)

Storage Control

  • docs(storagecontrol): use GetStorageLayout() for quickstart (#14044)
  • docs(storagecontrol): update service title (#14042)

Google APIs interface definitions

v2.23.0

15 Apr 21:43
60768ed
Compare
Choose a tag to compare

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

Bigtable

  • fix(bigtable): respect GOOGLE_CLOUD_CPP_OPENTELEMETRY_TRACING (#13748)

Pub/Sub

  • docs(pubsub): add kinesis sample (#13593)

Spanner

  • feat(spanner): add ExcludeTransactionFromChangeStreamsOption (#13898)
  • feat(spanner): add spanner::Value support for TypeCode::FLOAT32 (#13862)
  • feat(spanner): add samples for proto columns (#13759)
  • feat(spanner): add integration tests for proto columns (#13756)
  • feat(spanner): add spanner::Value support for ProtoEnum/ProtoMessage (#13747)
  • feat(spanner): add representations for the Spanner PROTO/ENUM types (#13743)
  • feat(spanner): add sample for instance-admin managed autoscaler (#13740)

Speech

  • fix(speech): enable location specific connections (#13757)

Storage

  • fix(storage): preserve full Status in default creds (#13897)
  • fix(storage): respect GOOGLE_CLOUD_CPP_OPENTELEMETRY_TRACING (#13766)
  • feat(storage): support HNS-enabled buckets (#13753)
  • feat(storage): support soft delete timestamps (#13728)

Common Libraries

  • feat(common): introduce FieldMaskOption (#13936)
  • docs(common): link to system parameters page (#13937)
  • feat(common): QuotaUserOption for gRPC-based libs (#13933)
  • fix(common): clang-cl needs a const_cast<> (#13891)
  • fix(compute): shorten paths for Bazel+MSVC (#13836)
  • feat(common): support injecting custom headers (#13829)

v2.22.0

04 Mar 16:45
5f84f01
Compare
Choose a tag to compare

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.

Bigtable

  • feat: promote EnableServerRetriesOption (#13698)
  • feat(bigtable): install mocks library (#13551)

Pub/Sub

  • docs(pubsub): add doxygen comment to deprecate handwritten apis (#13585)

Spanner

  • feat(spanner): add support for max commit delay (#13562)
  • feat: install mocks for spanner, sql, pubsublite (#13548)

Storage

  • docs(GCS+gRPC): add contact info (#13688)
  • feat(storage): support listing folders as prefixes (#13683)
  • feat(storage): support soft-deleted objects (#13644)
  • feat(storage): support Bucket soft-delete metadata (#13623)

Common Libraries

  • feat: cmake option to skip building mock libraries (#13673)
  • feat(generator): support request_id-like fields (#13615)
  • docs(common): advertise OAuth2 library (#13614)

v2.21.0

01 Feb 18:49
44de363
Compare
Choose a tag to compare

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.

Bigtable

  • feat(bigtable): support bigtable routing cookies (#13502)
  • feat(bigtable): logging for bulk apply throttling (#13488)

Pub/Sub

  • fix(pubsub): install admin mocks (#13537)
  • feat(pubsub): add lease management for unary pull (#13428)

Storage

  • feat(storage): support UniverseDomainOption (#13471)
  • docs(GCS+gRPC): better comments for AsyncConnection (#13424)

Common Libraries

  • feat: support UniverseDomainOption in gRPC IAM stub (#13466)
  • feat: simplify Bazel initialization (#13411)

v2.20.0

04 Jan 19:15
d752a02
Compare
Choose a tag to compare

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.

AI Platform/Vertex AI

  • feat(aiplatform): add new service proto file (#13325)

Bigtable

  • fix(bigtable): use FQDN (#13305)

OpenTelemetry

  • feat(otel): capture gRPC response metadata in traces (#13278)

Pub/Sub

  • fix(pubsub): get future value before returning (#13241)
  • fix(pubsub): pass by reference explicitly (#13220)

Common Libraries

  • fix(common): returnable argument to .then() (#13316)
  • feat(common): read-write streaming RPCs metadata (#13228)
  • fix: respect logging format env var in compute, sql (#13368)

v2.19.0

01 Dec 16:48
178c737
Compare
Choose a tag to compare

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.

Bigtable

  • feat(bigtable): throttling for AsyncBulkApply (#13203)
  • fix(bigtable): async context propagation for tracing (#13156)
  • feat(bigtable): support BulkApply throttling (#13124)

OpenTelemetry

  • feat(otel): add Makefile (#13177)
  • fix(otel): detach context when single-threaded (#13154)
  • fix(otel): reconnect async traces (e.g. LROs) (#13147)

Spanner

  • feat: add PG.OID type (#13127)
  • feat(spanner): control replicas/regions used in non-transactional reads (#13031)

Vertex AI

  • feat(aiplatform): generate new services (#13150)

Common Libraries

  • fix(common): use FQDN for the metadata service (#13139)
  • feat(common): add GrpcCompressionAlgorithmOption (#13108)
  • doc: fix cliffhanger (#13033)

v2.18.0

01 Nov 21:38
a2029d0
Compare
Choose a tag to compare

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.

Compute Engine

  • fix(compute): RegionSecurityPoliciesClient::PatchSecurityPolicy added update_mask field.

Memorystore for Redis

New CloudRedisClusterClient.

OpenTelemetry

  • doc(otel): add packaging instructions (#13005)
  • fix(otel): end async client spans properly (#12919)
  • fix(otel): support abseil <= 20210324 (#12993)

Spanner

  • feat(spanner): single-RPC, batched commit of mutation groups (#12930)

Common Libraries

  • feat(common): mock for AsyncStreamingReadWriteRpc (#12950)
  • fix(common): missed using CARootsFilePathOption (#12997)
  • fix(generator): do not override default sleeper in streaming-read RPCs (#12920)

Other Changes

  • fix(oauth2): only enable via GOOGLE_CLOUD_CPP_ENABLE (#12911)

When compiling with CMake, the oauth2 used to be automatically enabled if GOOGLE_CLOUD_CPP_REST was manually enabled or enabled by a separate library. That made it impossible to shard a build with separate builds for oauth2, storage and compute.

v2.17.0

12 Oct 04:25
b248f74
Compare
Choose a tag to compare

Compute Engine

  • fix(compute): build with Bazel and MSVC (#12877)
  • fix(compute): usable in external Bazel projects (#12864)
  • fix(compute): add missing bazelrc file (#12856)

Storage

  • feat(storage): another Bucket CRUD field (#12842)
  • fix(storage): fix tellg() values (#12844)
  • fix(storage): check ReadObject options at runtime (#12841)
  • feat(storage): MatchGlob for ListObjects() (#12840)
  • doc(storage): describe default project search (#12833)

Common Libraries

  • fix(oauth2): do not require id_token in creds (#12867)

Other Changes

We have stopped testing with GCC 7.5.0 on openSUSE/Leap: this distro uses
GCC 7.5.0 by default. This specific version of GCC crashes when compiling some
of the files generated by Protobuf 24.x. In other distros we test with GCC 7.3,
without problems. And we also test with newer versions of GCC without problems.
The exact files that cause the compiler to crash seem to change with minor
changes in Protobuf or the input .proto files, making it difficult to maintain
some kind of exclusion list.

We have stopped testing with GCC 7.5.0 on openSUSE/Leap, and recommend you use
GCC >= 8 to compile google-cloud-cpp. If you must compile with GCC 7.5.0,
consider only enabling the libraries you will need.