Skip to content

Releases: googleapis/google-cloud-cpp

v0.13.0 Release

05 Sep 15:46
6ebe10e
Compare
Choose a tag to compare

File Checksums

Extension SHA256 checksum
.tar.gz 35058ff14e4f9f49f78da2f1bbf1c03f27e8e40ec65c51f62720346e99803392
.zip 0c0304d9ab2d7e7aac8317307a90b0cfd332634fe35c8d7556c7b38c222bfb2e

Bigtable v1.2.x - 2019-09

  • feat: Configure C++17 build. (#2961)
  • fix: use MetadataUpdatePolicy::FromClusterId. (#2968)
  • fix: correct invalid routing headers. (#2988)

Google Cloud Storage v1.4.x - 2019-09

  • feat: Random CRC and MD5 in storage throughput benchmark (#2943)
  • feat: Make GCS throughput benchmark record progress. (#2944)
  • feat: Increase download and upload buffers. (#2945)
  • feat: Increase the threshold for using resumable uploads (#2946)
  • cleanup: Don't include nljson.h from public oauth2 headers. (#2954)
  • bug: Handle CURLE_{RECV,SEND}_ERROR as StatusCode::kUnavailable. (#2965)
  • cleanup: Use ObjectMetadata in ResumableUploadResponse. (#2969)
  • bug: do not disable hashes when Disable{MD5,Crc32c} are set to false (#2979)
  • feat: Improve ObjectWriteStreambuf by replacing O(n^2) code. (#2989)
  • cleanup: use existing function to generate data. (#2992)
  • feat: allow applications to timeout stalled downloads. (#2993)
  • fix: Actually enable the error injection test. (#2995)
  • cleanup: Factor out payload creation from ServiceAccountCredentials:: (#2997)
  • cleanup: Add additional testing for credential helpers. (#3004)
  • fix: return proper error code from upload metadata (#3005)
  • bug: Fix the initial backoff interval. (#3007)
  • fix: eliminate a race condition from retry loop (#3013)
  • bug: Unit tests are too slow. (#3021)
  • fix: don't throw on expired retry policies (#3023)
  • bug: ReadObject() retries only once (#3028)
  • bug: CurlRequestBuilder not initializing all members. (#3035)
  • fix: use next_expected_byte() in retried uploads (#3037)

Common v0.11.x - 2019-09

  • 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)

v0.12.0 Release

05 Aug 17:26
Compare
Choose a tag to compare

File Checksums

Extension SHA256 checksum
.tar.gz 712fcc003acfbcdc440630457e96a6993335131b6577d24a016bc1de08199d91
.zip 81011ac0165cb620691fe26a69164cb17128ca1faf4b27a4c91cafe5d2940031

Bigtable v1.1.x - 2019-08

  • feat: Minimize contention in Bigtable Client initialization. (#2923)
  • feat: Support setting 64-bit integers mutations. (#2866)
  • feat: Implement support for IAM conditions. (#2854)
  • BREAKING CHANGE: use cmake files from
    github.com/googleapis/cpp-cmakefiles for googleapis protos (#2888)

Google Cloud Storage v1.3.x - 2019-08

  • feat: Control TCP memory usage in GCS library. (#2902)
  • feat: Make partial errors/last_status available to ObjectWriteStream (#2919)
  • feat: Change storage/benchmarks to compile with exceptions disabled. (#2916)
  • feat: Implement native IAM operations for GCS. (#2900)
  • feat: Helpers for PredefinedDefaultObjectAcl. (#2885)
  • bug: Fix ReadObject() when reading the last chunk. (#2864)
  • bug: Use correct field name for MD5 hash. (#2876)

Common v0.10.x - 2019-08

  • 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)

v0.11.0 Release

02 Jul 00:08
cc1af99
Compare
Choose a tag to compare

File Checksums

Extension SHA256 checksum
.tar.gz 3abe2cf553ce33ff58d23848ae716cd2fcabfd454b89f6f65a92ed261244c1df
.zip 6b4b7c4f0d65796d454d32e9d8bc1f2a468b2a686f8a04c5d4860fd6bf997bc3

Bigtable v1.0.0

  • bug: the library will return an error instead of simply discarding unknown IAM
    fields.
  • feature: update googleapis protos to a more recent version.
  • cleanup: marked rarely used CMake options as advanced. They will no longer
    show up by default in your CMake UI.
  • Several internal cleanups, such as removing unused code in
    google::cloud::bigtable::internal, fixing constant names to follow the
    Google Style Guide, simplify the generation of version metadata, make it
    easier to import the code into Google, turned on -Wextra for our builds,
    moved the sanitizer builds to Bazel, and refactoring generic gRPC utilities
    to a new common library.

Google Cloud Storage v1.2.0

  • Breaking Change: we accidentally left two functions in the public API,
    they are now removed. These functions were used to convert
    google::cloud::storage::ServiceAccount classes to and from JSON objects.
  • Breaking Change: we removed the functions in
    google::cloud::storage::IdempotencyPolicy for
    internal::InsertObjectStreamingRequest. This class is no longer used and the
    functions are unnecessary. This breakage only affects applications that define
    a custom IdempotencyPolicy.
  • bug: Fixed WriteObject() to actually retry the upload for each chunk, not
    just retry the creation of the upload session.
  • feature: add examples showing how to mock a google::cloud::storage::Client.
  • feature: allow applications to load service account credentials from the
    standard locations, but also change the scopes and subject as the credentials
    are loaded. Thanks to @timford for contributing this fix.
  • bug: resuming an already finalized upload was not working correctly. Now the
    library restores the stream, but the stream is immediately closed (it is
    incorrect to write more data), and has the object metadata immediately
    available. Thanks to @Jseph for contributing this fix.
  • bug: on Windows, storage::Client::UploadFile() and
    storage::Client::DownloadFile() were always treating the files as text,
    which meant their contents were transformed in unexpected ways. They are now
    always treated as binary.
  • bug: we were still leaking a few macros from the nlohmann json library to the
    user's namespace. This is now fixed. Thanks to @remyabel for helping us with
    this.
  • feature: reduce data copies during download.
  • bug: return an error if the IAM bindings contain unknown fields, previously
    the library was discarding these fields.
  • Several internal cleanups, such as fixing constant names to match the Google
    Style Guide, simplify the generation of version metadata, make the integration
    tests more reliable by using several service accounts for each run, use
    -Wextra in our builds, and a few more.

v0.10.0 Release

04 Jun 21:09
ec468fb
Compare
Choose a tag to compare

File Checksums

Extension SHA256 checksum
.tar.gz fd0c3e3b50f32af332b53857f8cd1bfa009e33d1eeecabc5c79a4825d906a90c
.zip 208c8196eaec2d1578008e2602b4667593a1527167ebdb8527a268f4cada0ad9

Bigtable v0.10.0

  • Breaking Changes
    • The return type for WaitForConsistencyCheck() was a future<StatusOr<bool>>
      where most related functions return a bigtable::Consistency enum.
    • Table::CheckAndMutateRow returns StatusOr<bool> to indicate which
      branch of the predicate was taken in the atomic change. Meanwhile,
      AsyncCheckAndMutateRow() returned a future<StatusOr<proto-with-long-name>>.
      Changed the async and sync versions to return
      future<StatusOr<MutationBranch>>. MutationBranch is an enum as
      StatusOr<bool> is too eay to use incorrectly.
    • Removed the Collection template parameter from Table::SampleRows.
    • Fixed the last function, WaitForConsistencyCheck, that returned
      std::future to return google::cloud::future<>. The function name
      changed too, to be more consistent with similar functions.
    • Remove all the "strong types" for bigtable, such as InstanceId,
      ClusterId, TableId, etc. This changed some of the constructors for
      bigtable::Table and several member functions in bigtable::Table,
      bigtable::TableAdmin, and bigtable::InstanceAdmin.
  • Changes:
    • Implemented TableAdmin::AsyncWaitForConsistency.
    • Implemented Table::AsyncReadRows.
    • DeleteAppProfile defaults to ignore_warnings=true.

GCS v1.1.0

  • Implemented option to read an object starting from an offset.
  • Automatically restart downloads on error. With this change the download is
    restarted from the last received byte, and using the object generation used
    in the original download as well. (#2693)
  • Bugfixes:
    • Service account credentials not refreshing properly. (#2691)
    • Fix build for macOS+CMake. (#2698)
    • WriteObject now supports empty streams. (#2714)

v0.9.0

08 May 18:16
Compare
Choose a tag to compare

File Checksums

Extension SHA256 checksum
.tar.gz a072103546cfa041ad8bfc599fe5a20c58e005a1a0ee18e94b2554dc3d485604
.zip 2d3e0713cc6787042916fd3b0e68765fdeb4eac26badb77c92a98c5b7a6d8e55

GCS v1.0.0

  • Declared GA and updated major number.
  • Support signed policy documents.
  • Support service account key files in PKCS#12 format (aka .p12).
  • Support signing URLs and policy documents using the SignBlob API, this is
    useful when using the default service account in GCE to sign URLs and policy
    documents.

Bigtable v0.9.0

  • Breaking Changes
    • Return google::cloud::future from InstanceAdmin functions: this is
      more consistent with all other functions returning futures.
    • Remove unused bigtable::GrpcError: the library no longer raises this
      exception, any code trying to catch the exception should be modified to
      handle errors via StatusOr<T>.
    • Remove Snapshot-related functions, tests, examples, etc.: this is
      whitelisted functionality in Cloud Bigtable and it is no longer expected
      to reach GA.
  • Continue to implement more async APIs (Async*() methods) for the
    InstanceAdmin, TableAdmin, and Table classes
    (Note: These are not yet stable)
  • Bugfixes:
    • Need ignore_warnings to actually delete an AppProfile.
    • Fix portability/logical errors in shell scripts.
    • Fix a race condition in MutationBatcher.
  • Implemented a number of previously missing code samples.

Common v0.7.0

  • Support move-only callables in future<T>
  • Avoid std::make_exception_ptr() in future_shared_state_base::abandon().

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.