Releases: devjgm/google-cloud-cpp
v1.35.0
New GA Libraries
The following libraries are now considered stable and complete:
BigQuery
- feat(generator): add options support to generated clients (#7683)
Bigtable
- feat(bigtable): generate admin APIs (#7700)
IAM
- feat(generator): add options support to generated clients (#7683)
Pub/Sub
- fix(pubsub): Change AsyncReadWriteStreamAuth to be usable with unique_ptr (#7692)
Spanner
- fix(spanner): switch order of ListBackupOperations() filter conjuncts (#7746)
- feat(spanner): add per-operation options to Commit() and Rollback() (#7714)
- feat(spanner): spanner::Client construction from Options (#7706)
- feat(generator): add options support to generated clients (#7683)
Storage
- feat(GCS+gRPC): implement parser for BucketMetadata components (#7766)
- feat(GCS+gRPC): implement BucketBilling parser (#7765)
- feat(GCS+gRPC): implement BucketAccessControl parser (#7763)
- feat(storage): capture metadata info in downloads (#7694)
- fix: missing dependency for WIN32 (#7718)
- fix(storage): more strict parsing for HttpResponse (#7702)
Common Libraries
- Backoff policies are now cloned from their initial state, instead of their
current state. Any accumulated delay will be reset to its initial value in the
clone. The previous behavior was a bug, and thus it has been fixed. (#7696) - fix: extremely rare race conditions in retry loop (#7789)
- feat(common): include the request/response type name in the RPC log (#7782)
- fix(common): revamp the async polling loop (#7762)
- fix: missing dependency for WIN32 (#7718)
- doc(common): add a note about AsyncGrpcOperation and OptionsSpan (#7682)
- feat(common): add support for call-tree-specific options (#7669)
v1.31.0
v1.30.0
v1.30.0 Release
Bigtable:
BREAKING CHANGES:
Async*
functions inTable
that tookCompletionQueue&
as a parameter
have been removed. Users that need to update their code should use the
identically named functions which do not require aCompletionQueue&
. If
users absolutely require a customCompletionQueue
, one can be supplied to
theDataClient
used to construct theTable
, via
ClientOptions::DisableBackgroundThreads(CompletionQueue const&)
.
See #2567 for more details.
Storage:
BREAKING CHANGES:
- The usage of
google::cloud::internal::ObjectReadSource
has changed. If your
tests mock how the library uses this class you may need to update your tests.
We updated the mocking examples to guide you in
changing the tests.
Other:
We have removed the super/
directory: google-cloud-cpp
remains usable in
a super build for a larger project, but we do not believe these files add enough
value for the additional complexity. If you prefer to build all the dependencies
from source using CMake, we recommend you use a package manager, such as
vcpkg.
We have dropped support for Clang < 6.0: to support the latest Google Cloud
services we need a version of Protobuf that can compile all the .proto
files
in https://github.com/googleapis/googleapis. At this time this requires
Protobuf >= 3.15, and these versions of Protobuf do not support older versions
of the Clang compiler.
v0.8.0 Release
Bigtable (v0.8.x)
- Breaking change:
Table::BulkApply
now returns a
std::vector<FailedMutation>
instead of throwing an exception. - In the future we will remove all the
google::cloud::bigtable::noex::*
classes. We are moving the implementation togoogle::cloud::bigtable::*
. - Continuing to implement more async APIs (Note: These are not yet stable):
InstanceAdmin::AsyncDeleteInstance
Table::AsyncCheckAndMutateRow
TableAdmin::AsyncDeleteTable
TableAdmin::AsyncModifyColumnFamilies
BulkMutator
now returns more specific errors instead of generic UNKNOWN.- Improved install instructions, which are now tested with our CI builds.
- CMake-config files now work without
pkg-config
. - Removed the googleapis submodule. The build system now automatically
downloads all deps. - No longer throw exceptions from
ClientOptions
.
Common
- Removed the googleapis submodule. The build system now automatically
downloads all deps.
Storage (v0.6.x)
- Added initial support for HMAC key-related functions.
- Added support for V4 signed URLs.
- Improved install instructions, which are now tested with our CI builds.
- CMake-config files now work without
pkg-config
. - No longer throw exceptions from
ClientOptions
. - Handle object names with slashes.
- Added
ObjectMetadata::set_storage_class
- Added support for policy documents.
v0.7.0 Release
Bigtable (v0.7.x)
- Breaking change: Return
StatusOr<>
fromTableAdmin
andInstanceAdmin
operations to signal errors. - Add streaming to
(Async)BulkMutator
. - Implement a helper class (
MutationBatcher
) to automatically batch and manage
outstanding bulk mutations. - Add
bigtable::Cell
constructors without labels argument. - Implementation of
RowSet
example using discontinuous keys. List{Instances,Clusters}
returnfailed_locations
.- First version of async
Apply
batching. - Keep
Apply
callbacks inMutationData
.
Common
- 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.
Storage (v0.5.x)
- Properly handle subresources in V2 signed URLs.
- Allow specifying non-default
ServiceAccountCredentials
scope and subject. - Add
make install
instructions. - Change the storage examples to throw a
std::runtime_error
on failure. - Add Bucket Policy Only samples.
v0.6.0 Release
Bigtable (v0.6.x)
- Moved repo organization from GoogleCloudPlatform -> googleapis.
- Implemented several more async functions.
- Breaking change: Started migrating functions to
StatusOr
and away from
throwing exceptions. - Several fixes to bulk mutator (googleapis#1880)
- Disabled
make install
for external projects. Row
now has a move constructor.- Increased default message length limit.
- Now testing build with libc++ on Linux.
- Fixed some bugs found by Coverity scans.
Common
- Fixed some documentation.
- Breaking change: Removed
StatusOr<void>
. - Updated
StatusOr
documentation. - Fixed some (minor) issues found by coverity.
Storage (v0.4.x)
- Breaking change: Removed almost all exception throwing in favor of
StatusOr<T>
return values. - Lots of cleanup to documentation and example code.
- Avoids use of
StatusOr::value()
when the validity was already checked. Client::ListBuckets()
now directly returnsListBucketsReader
, because it
cannot fail soStatusOr
was not needed.- Removed support for
StatusOr<void>
; changed usages to returnStatus
instead. - 502s are now retryable errors from GCS.
- Breaking change:
LockBucketRetentionPolicy
returns aBucketMetadata
now instead ofvoid
. - Cleaned up documentation and example code.
- Disabled
make install
for external projects. - Moved repo organization from GoogleCloudPlatform -> googleapis.
- Moved some internal-only APIs out of public interfaces.
- Fixed resuming uploads when the server responds with a 308.
v0.5.0 Release
Bigtable (v0.5.x)
- Restore support for gcc-4.8.
- @remyabel cleaned up some hard-coded zone names in the examples.
- More experimental asynchronous APIs, including AsyncReadRows. Note that we
expect to change all these experimental APIs as described in
#1543. - @remyabel contributed changes to disable the unit and integration tests. This
can be useful for package maintainers. - New Bigtable filter wrapper that accepts a single column.
- Breaking Change: remove the
as_proto_move()
member functions in favor
ofas_proto() &&
. With the latter newer compilers will warn if the object
is used after the destructive operation.
Common
- 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.
Storage (v0.3.x)
- Try to use the exception mask in the IOStream classes
(storage::ObjectReadStream
andstorage::ObjectWriteStream
). This allows
applications to check errors locally viardstate()
. Note that applications
that disable exceptions altogether must check thestatus()
member function
for these IOStream classes. It is impossible to set therdstate()
for all
failures when exceptions are disabled. - Support reading only a portion of a Blob.
- Support building with gcc-4.8.
- Many internal changes to better support applications that disable exceptions.
A future release will include APIs that do not raise exceptions for error
conditions. - @remyabel contributed changes to disable the unit and integration tests. This
can be useful for package maintainers. - Implement a function to create signed URLs (
Client::CreateV2SignedUrl
). - Support resumable uploads in any upload operation.