Releases: googleapis/google-cloud-cpp
Releases · googleapis/google-cloud-cpp
v0.8.1 Release
File Checksums
Extension |
SHA256 checksum |
.tar.gz |
f5600fdf3efd28e3142a60c20574e349511104fc6f658faf7974f6ae2def245a |
.zip |
b8dd5b48ab3b293f947c6d3053a6cd85f3dd409c9a1ca5c17b745cf0146d3001 |
Bigtable
- Use SFINAE to constrain applicability of the BulkMutation(M&&...) ctor.
Common
- Avoid std::make_exception_ptr() when building without exceptions.
v0.8.0 Release
File Checksums
Extension |
SHA256 checksum |
.tar.gz |
239863f18a3c3bdaa3a7f16aa148871d295c6069932801f82967bae3c3ab130e |
.zip |
57b6b62e7007f61d6718b9898c951ee943b5df28a4af9362b718de7b6bc52cf3 |
Bigtable
- 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 to google::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
.
Storage
- 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.
Common
- Removed the googleapis submodule. The build system now automatically
downloads all deps.
v0.7.0 Release
File Checksums
Extension |
SHA256 checksum |
.tar.gz |
06bc735a117ec7ea92ea580e7f2ffa4b1cd7539e0e04f847bf500588d7f0fe90 |
.zip |
21a7a03d48697450b300cedd346934831e324497d1a58b3ba2f4d19d9b69ead2 |
Bigtable
- Breaking change: Return
StatusOr<>
from TableAdmin
and InstanceAdmin
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}
return failed_locations
.
- First version of async
Apply
batching.
- Keep
Apply
callbacks in MutationData
.
Storage
- 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.
Common
- Breaking change: Make
google::cloud::optional::operator bool()
explicit.
- Add
google::cloud::optional
value conversions that match std::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.
v0.6.1 Release
File Checksums
Extension |
SHA256 checksum |
.tar.gz |
8e3a302d37f232dec041bf3f3916ca3fa5689216d42112898a4e36581f2f4ce5 |
.zip |
7ec785a8e3f87e7e8a557377c3e72b615690c8fedce1154f2cf9b817cad28046 |
Bigtable
Storage
- The library is now Beta. We no longer expect changes to the API.
- No other changes from v0.6.0
Common
v0.6.0 Release
File Checksums
Extension |
SHA256 checksum |
.tar.gz |
09b496a647ef52cfab103fcf2fa5d0c963d654f8ed83aec5a299de6e5bd7ff91 |
.zip |
d229d331b2f78ef884de0f34c6ca9043a8e924bf63ba65178499c744d6b05c94 |
Bigtable
- 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 (#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.
Storage
- 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 returns ListBucketsReader
, because it
cannot fail so StatusOr
was not needed.
- Removed support for
StatusOr<void>
; changed usages to return Status
instead.
- 502s are now retryable errors from GCS.
- Breaking change:
LockBucketRetentionPolicy
returns a BucketMetadata
now instead of void
.
- 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.
Common
- Fixed some documentation.
- Breaking change: Removed
StatusOr<void>
.
- Updated
StatusOr
documentation.
- Fixed some (minor) issues found by coverity.
v0.5.0 Release.
File Checksums
Extension |
SHA256 checksum |
.tar.gz |
886bcba3616d5f362838a2d86ae0198dd3670a84a84c82291cda6c30e14779fc |
.zip |
b2cd3a745c0e24cda8349bd9defa701231252534ad776edbc3a58e4957986bc5 |
Bigtable
- 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
of as_proto() &&
. With the latter newer compilers will warn if the object
is used after the destructive operation.
Storage
- Try to use the exception mask in the IOStream classes
(storage::ObjectReadStream
and storage::ObjectWriteStream
). This allows
applications to check errors locally via rdstate()
. Note that applications
that disable exceptions altogether must check the status()
member function
for these IOStream classes. It is impossible to set the rdstate()
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.
Common
- Support compiling with gcc-4.8.
- Fix
GCP_LOG()
macro so it works on platforms that define a DEBUG
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.
v0.4.0 Release.
Bigtable
- More experimental asynchronous APIs, note that we expect to change all these
experimental APIs as described in #1543.
- Most of the admin operations now have asynchronous APIs.
- All asynchronous APIs in
noex::*
return an object through which applications
can request cancellation of pending requests.
- Prototype asynchronous APIs returning a
google::cloud::future<T>
,
applications can attach callbacks and/or block on a
google::cloud::future<T>
.
Storage
- Use resumable uploads for large files in
Client::UploadFile()
.
- Implement support for the
userIp
optional query parameter.
- BREAKING CHANGE
Client::RewriteObject()
, Client::CopyObject()
, and
Client::ComposeObject
no longer require the ObjectMetadata
argument.
Instead use WithObjectMetadata()
, which can be omitted if you do not need
to set any metadata attributes in the new object.
- When using OpenSSL-1.0.2 the client library needs to configure the
locking callbacks
for OpenSSL. However, the application may disable this behavior if the
application developer is going to use their own locking callbacks.
- When refreshing OAuth2 access tokens the client library uses the same retry
and backoff policies as used for the request itself.
- Applications can set object metadata attributes via the
WithObjectMetadata
optional argument to Client::InsertObjectMedia()
.
- Applications can configure the library to only retry idempotent operations.
- The client library can use Google Compute Engine credentials to access the
service.
Common
- Implement
google::cloud::future<T>
and google::cloud::promise<T>
based on ISO/IEC TS 19571:2016, the "C++ Extensions for Concurrency" technical specification, also known as "futures with continuations".
v0.4.0-pre1 Release.
Bigtable
- More experimental asynchronous APIs, note that we expect to change all these
experimental APIs as described in #1543.
- Most of the admin operations now have asynchronous APIs.
- All asynchronous APIs in
noex::*
return an object through which applications
can request cancellation of pending requests.
- Prototype asynchronous APIs returning a
google::cloud::future<T>
,
applications can attach callbacks and/or block on a
google::cloud::future<T>
.
Storage
- Use resumable uploads for large files in
Client::UploadFile()
.
- Implement support for the
userIp
optional query parameter.
- BREAKING CHANGE
Client::RewriteObject()
, Client::CopyObject()
, and
Client::ComposeObject
no longer require the ObjectMetadata
argument.
Instead use WithObjectMetadata()
, which can be omitted if you do not need
to set any metadata attributes in the new object.
- When using OpenSSL-1.0.2 the client library needs to configure the
locking callbacks
for OpenSSL. However, the application may disable this behavior if the
application developer is going to use their own locking callbacks.
- When refreshing OAuth2 access tokens the client library uses the same retry
and backoff policies as used for the request itself.
- Applications can set object metadata attributes via the
WithObjectMetadata
optional argument to Client::InsertObjectMedia()
.
- Applications can configure the library to only retry idempotent operations.
- The client library can use Google Compute Engine credentials to access the
service.
Common
- Implement
google::cloud::future<T>
and google::cloud::promise<T>
based on ISO/IEC TS 19571:2016, the "C++ Extensions for Concurrency" technical specification, also known as "futures with continuations".
v0.3.0 Release.
This is the v0.3.0 release of the Google Cloud C++ Client Libraries.
Bigtable
- Experimental asynchronous APIs.
- Include an example that illustrates how to use OpenCensus and the Cloud
Bigtable C++ client library.
- Several cleanups around dependency management with CMake.
- Jason Zaman contributed improvements and fixes to support soversion numbers
with CMake.
- Lots of improvements to the code coverage in the examples and tests.
- Fixed multiple documentation issues, including a much better landing page
in the Doxygen documentation.
Storage
- Automatically compute MD5 hashes and CRC32C checksums when objects are
uploaded and downloaded. Any hash or checksum mismatched results in an
exception. Applications can MD5 hashes, CRC32C checksums or both on any
request.
- Parse Bucket lock and retention policy attributes in object and bucket
metadata.
- Add APIs to upload and download files with a single function call.
- Improved the error messages generated when the credentials file is missing
or has invalid contents.
- Jason Zaman contributed improvements and fixes to support soversion numbers
with CMake.
Common
google::cloud::optional<T>
an intentionally incomplete implementation of
std::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 to stderr
.
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.
This is the v0.3.0 (pre-)release of the Google Cloud C++ Client Libraries.
Bigtable
- Experimental asynchronous APIs.
- Include an example that illustrates how to use OpenCensus and the Cloud
Bigtable C++ client library.
- Several cleanups around dependency management with CMake.
- Jason Zaman contributed improvements and fixes to support soversion numbers
with CMake.
- Lots of improvements to the code coverage in the examples and tests.
- Fixed multiple documentation issues, including a much better landing page
in the Doxygen documentation.
Storage
- Automatically compute MD5 hashes and CRC32C checksums when objects are
uploaded and downloaded. Any hash or checksum mismatched results in an
exception. Applications can MD5 hashes, CRC32C checksums or both on any
request.
- Parse Bucket lock and retention policy attributes in object and bucket
metadata.
- Add APIs to upload and download files with a single function call.
- Improved the error messages generated when the credentials file is missing
or has invalid contents.
- Jason Zaman contributed improvements and fixes to support soversion numbers
with CMake.
Common
google::cloud::optional<T>
an intentionally incomplete implementation of
std::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 to stderr
.
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.