Skip to content

v2.27.0

Compare
Choose a tag to compare
@dbolduc dbolduc released this 01 Aug 17:50
· 257 commits to main since this release
7f18cd6
  • We now link our mocking libraries against GoogleTest in CMake.

    The mocking libraries require GoogleTest. Not linking GoogleTest was a bug.
    This bug surfaced in versions of CMake >= 3.30.

    Note that the mocking libraries are built by default. If you want to opt-out
    of building or installing the mocking libraries, you can supply
    -DGOOGLE_CLOUD_CPP_WITH_MOCKS=OFF to your CMake configure command.

    If your build fails because GoogleTest is not found, supply
    -DGOOGLE_CLOUD_CPP_WITH_MOCKS=OFF as mentioned above.

  • We have stopped testing on CentOS 7, Debian 10 (Buster), and RockyLinux 8 as
    these distros are EOL or in some form of "security only" support period.
    Note that we used CentOS 7 as a proxy for testing RedHat Enterprise Linux 7.

BREAKING TESTING CHANGES

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

With the promotion from Experimental to GA of the new methods to support
starting Long Running Operations (LRO) synchronously and awaiting their
completion separately, the use of ExperimentalTag is no longer required. The
overload set for LRO methods has changed and may require matchers to
disambiguate invocations of EXPECT_CALL
(https://google.github.io/googletest/gmock_cook_book.html#SelectOverload).

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 following experimental libraries are now available:

  • Cloud BigQuery Control API -
    This library provides support for the Dataset, Job, Model, Project, Routine,
    RowAccessPolicy, and Table REST resources.

OpenTelemetry

  • fix(otel): avoid crashes in tracing wrappers for streams (#14477)

Bazel

The --io_opentelemetry_cpp//api:with_abseil flag was marked as deprecated in
OpenTelemetry v1.16.0. It may be removed in future versions.

In previous versions of opentelemetry-cpp, this flag was required for
compatibility with Abseil. It is no longer necessary, as opentelemetry-cpp is
compiled with Abseil by default.

We have stopped using the flag to validate Bazel build configurations with
OpenTelemetry tracing enabled.

If you are building google-cloud-cpp with opentelemetry-cpp < v1.16.0, you
will need to supply the flag for compatibility with Abseil. The following can be
added to your .bazelrc file.

build --@io_opentelemetry_cpp//api:with_abseil

Spanner

  • feat(spanner): add samples for instance partitions (#14574)

Storage

  • fix(storage): reset backoff after partial write (#14473)
  • feat(storage): single span for ReadObject() (#14435)
  • fix(storage): only backoff before resume attempts (#14427)

Common Libraries

  • Promoted to GA, functions to start a LRO (longrunning operation) in one
    function call, and then await the LRO to complete on a separate function.
  • feat(generator): include request in async streaming RPC logs (#14565)
  • fix(common): censor Bearer tokens over HTTP/2 (#14564)
  • fix(common): json_fwd.h is not always available (#14439)
  • fix: workaround missing SHA256 macros in MinGW-w64 (#14437)