Releases: googleapis/google-cloud-cpp
Releases · googleapis/google-cloud-cpp
v0.13.0 Release
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
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
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
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
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
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.