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