NOTICE: This repo will be merging with the googleapis/google-cloud-cpp monorepo in 60 days, around June 1, 2020. This change should not break any users who are using a released version. We expect this new monorepo organization to be better for our existing and new customers going forward. Please see googleapis/google-cloud-cpp#3612 for more details.
- fix: use a safer token to workaround libstdc++ bug (#272)
- feat: add timestamps in default log backend (#266)
- fix: include needed header (#265)
- fix: workaround clang-3.8 bugs
- fix: fix racy conditions during CompletionQueue shutdown (#250)
- refactor: adapt async retry loop from Bigtable (#244)
- fix: correct range validation in ParseRfc3339 (#219)
- fix: workaround a libstdc++ bug on
std::random_device
(#208) - cleanup: use same clang-tidy in all repositories (#206)
- chore: remove EnvironmentVariableRestore (#190)
NOTE: this class (like all types and functions in the
google::cloud::testing_utils
namespace) was not intended for public use.
- fix: install google_cloud_cpp_testing_grpc headers (#185)
- feat: add new support for testing with environment variables (#180)
- feat: logging can be enabled via env var (#181)
- refactor: copy IsProtoEqual from spanner (#179)
BREAKING CHANGES:
- refactor!: remove grpc_utils namespace; left aliases for backward compat (#158)
POTENTIALLY BREAKING CHANGE: Refactor the types and functions from
google::cloud::grpc_utils
togoogle::cloud::
. The old header files and types should continue to work, as we kept aliases for them, but there is some risk we missed something. The library name (the physical .a and/or .so file) is not changed, the target names for CMake are not changed. For Bazel, the old targets continue to work, but you might want to move to newer targets that do not expose the backwards compatibility headers.
Other Changes:
- feat: cancel futures returned by .then() (#166)
- feat: support cancellation for long running operations (#160)
- refactor: copy PaginationRange from spanner (#168)
- refactor: copy ConnectionOptions from spanner (#165)
- refactor: Copy
BackgroundThreads
fromgoogle::cloud::spanner
- refactor: copy TracingOptions from spanner (#161)
BREAKING CHANGES:
- feat!: change the result type for timers to StatusOr (#134)
CompletionQueue::MakeRelativeTimer
andCompletionQueue::MakeDeadlineTimer()
now return afuture<StatusOr<std::chrono::system_clock::time_point>>
. This change is needed because now these operations may fail if the completion queue is shutdown before the timer is set. - chore: remove
CompletionQueue
parameter toAsyncGrpcOperation::Notify
(#136)
Other Changes:
- fix: google/cloud/grpc_utils/examples does not exist (#149)
- feat: gracefully fail adding to the
CompletionQueue
afterShutdown
(#138) - fix: remove the redundant conditions in the
Run()
loop (#131) - fix: crashes with non-empty CompletionQueue shutdown (#127)
- chore: move release notes to CHANGELOG.md (#128)
- Cleanup and documentation changes only
- fix: make
google::cloud::internal::apply
work forstd::tuple<>&
- chore: upgrade to gRPC-1.24.3 (#75)
- feat: implement std::apply (#59)
- feat: implement install components (#33)
- bug: fix runtime install directory (#3063)
- feat: Use macros for compiler id and version (#2937)
- fix: Fix bazel build on windows. (#2940)
- chore: Keep release tags in master branch. (#2963)
- cleanup: Use only find_package to find dependencies. (#2967)
- feat: Add ability to disable building libraries (#3025)
- bug: fix builds with CMake 3.15 (#3033)
- feat: Document behavior of passing empty string to SetEnv on Windows (#3030)
- feat: add
conjunction
metafunction (#2892) - bug: Fix typo in testing_util/config.cmake.in (#2851)
- bug: Include 'IncludeGMock.cmake' in testing_util/config.cmake.in (#2848)
- feature: support
operator==
andoperator!=
forStatusOr
. - feature: support assignment from
Status
inStatusOr
. - feature: disable
optional<T>
's converting constructor whenU == optional<T>
.
- Support move-only callables in
future<T>
- Avoid
std::make_exception_ptr()
infuture_shared_state_base::abandon()
.
- Avoid
std::make_exception_ptr()
when building without exceptions. - Removed the googleapis submodule. The build system now automatically downloads all deps.
- Breaking change: Make
google::cloud::optional::operator bool()
explicit. - Add
google::cloud::optional
value conversions that matchstd::optional
. - Stop using grpc's
DO_NOT_USE
enum. - Remove ciso646 includes to force traditional spellings.
- Change
std::endl
->"\n"
. - Enforce formatting of
.cc
files.
- Fixed some documentation.
- Breaking change: Removed
StatusOr<void>
. - Updated
StatusOr
documentation. - Fixed some (minor) issues found by coverity.
- Support compiling with gcc-4.8.
- Fix
GCP_LOG()
macro so it works on platforms that define aDEBUG
pre-processor symbol. - Use different PRNG sequences for each backoff instance, previously all the clones of a backoff policy shared the same sequence.
- Workaround build problems with Xcode 7.3.
- Implement
google::cloud::future<T>
andgoogle::cloud::promise<T>
based on ISO/IEC TS 19571:2016, the "C++ Extensions for Concurrency" technical specification, also known as "futures with continuations".
google::cloud::optional<T>
an intentionally incomplete implementation ofstd::optional<T>
to support C++11 and C++14 users.- Applications can configure
google::cloud::LogSink
to enable logging in some of the libraries and to redirect the logs to their preferred destination. The libraries do not enable any logging by default, not even tostderr
. google::cloud::SetTerminateHandler()
allows applications compiled without exceptions, but using the APIs that rely on exceptions to report errors, to configure how the application terminates when an unrecoverable error is detected by the libraries.