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 theObjectMetadata
argument.
Instead useWithObjectMetadata()
, 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 toClient::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>
andgoogle::cloud::promise<T>
based on ISO/IEC TS 19571:2016, the "C++ Extensions for Concurrency" technical specification, also known as "futures with continuations".