Skip to content

Releases: googleapis/google-cloud-cpp

v0.8.1 Release

12 Apr 05:32
b892589
Compare
Choose a tag to compare

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

05 Apr 14:41
Compare
Choose a tag to compare

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

06 Mar 20:17
Compare
Choose a tag to compare

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

13 Feb 17:55
e2d8dc2
Compare
Choose a tag to compare

File Checksums

Extension SHA256 checksum
.tar.gz 8e3a302d37f232dec041bf3f3916ca3fa5689216d42112898a4e36581f2f4ce5
.zip 7ec785a8e3f87e7e8a557377c3e72b615690c8fedce1154f2cf9b817cad28046

Bigtable

  • No changes from v0.6.0

Storage

  • The library is now Beta. We no longer expect changes to the API.
  • No other changes from v0.6.0

Common

  • No changes from v0.6.0

v0.6.0 Release

06 Feb 18:53
Compare
Choose a tag to compare

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.

03 Jan 04:04
0b55dc7
Compare
Choose a tag to compare

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.

04 Dec 17:06
6efdd7e
Compare
Choose a tag to compare

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.

04 Dec 02:33
bae742f
Compare
Choose a tag to compare
v0.4.0-pre1 Release. Pre-release
Pre-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.

01 Nov 14:00
c11c0d8
Compare
Choose a tag to compare

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.

01 Nov 12:52
b79ecc7
Compare
Choose a tag to compare

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.