C++ Client Libraries for Google Cloud Services
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.
NotebookServiceClient
and PersistentResourceServiceClient
CatalogServiceClient
DepServiceClient
GOOGLE_CLOUD_CPP_OPENTELEMETRY_TRACING
(#13766)FieldMaskOption
(#13936)QuotaUserOption
for gRPC-based libs (#13933)clang-cl
needs a const_cast<>
(#13891)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.
spanner
, sql
, pubsublite
(#13548)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.
UniverseDomainOption
(#13471)AsyncConnection
(#13424)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.
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.
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.
RegionSecurityPoliciesClient::PatchSecurityPolicy
added update_mask
field.New CloudRedisClusterClient
.
AsyncStreamingReadWriteRpc
(#12950)CARootsFilePathOption
(#12997)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
.
MatchGlob
for ListObjects()
(#12840)id_token
in creds (#12867)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.
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.
New *Client
for conversational search.
We instrumented the Google Cloud C++ libraries for distributed tracing using OpenTelemetry. All client libraries are instrumented in some capacity.
Features to enable the collection and export of these traces are now GA. See the quickstart within the library to learn more about these tools.
Remove PoliciesClient
. This client was placed in the wrong library. The
correct location is google/cloud/iam/v2.
*Option
to configure HTTP proxy (#12766)Compiling gRPC with Bazel and Clang >= 16 requires --features=-layering_check
in your Bazel command-line. For more details, see grpc#34482.
Remove PoliciesClient
. This client was placed in the wrong library. The
correct location is google/cloud/iam/v2.
Full Changelog: https://github.com/googleapis/google-cloud-cpp/compare/v2.15.0...v2.15.1
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 Cloud IoT Core service has been [shutdown][cloud-iot-shutdown]. We removed the corresponding C++ client library as it is no longer usable.
Parts of the BeyondCorp API are restricted to only existing customers and will be decommissioned. No C++ customers are affected, so we are removing the unusable components from the C++ libraries. More information in the BeyondCorp announcement.
We expanded the library to include the v2
version of the API.
We expanded the library to include the v2
version of the API.
Options::set<>() &&
overload (#12424)*RetryLoop
(#12301)Bazel Testing: from v2.15.0 we will only test with Bazel >= 6.0.0. We do not consider this a breaking change, as Bazel 5.x has been in maintenance mode for more than 6 months.
CMake Proto Libraries: We only compile service-specific protos if the
corresponding client library is enabled, via -DGOOGLE_CLOUD_CPP_ENABLE=...
.
This change reduces build times for customers who use CMake but who are not using all of the client libraries listed below.
We considered it a bug that customers building with CMake were forced to compile large proto libraries that they did not need. It was certainly confusing.
Any change in behavior, including fixing bugs, can be considered "breaking". By policy we don't consider bug fixes to be breaking changes. We applied that policy in this case.
The impacted libraries are:
bigquery
bigtable
dialogflow_es
iam
logging
pubsub
speech
storage
texttospeech
trace
If you are dependent on any of these proto libraries and you are not compiling the corresponding client library, you will need to update your build scripts.
For example, if you depend on google_cloud_cpp_speech_protos
(e.g., if you
have been using this library to make calls to Cloud Speech using raw gRPC), add
-DGOOGLE_CLOUD_CPP_ENABLE=...,speech,...
to your CMake configure command. If
you build with vcpkg
, include speech
in your install command.
Note that google_cloud_cpp_storage_protos
are associated with the
experimental-storage-grpc
feature, not the storage
feature.