v1.20.0 Release
Bigtable
No user-facing changes.
Pub/Sub
BREAKING CHANGES:
While the Pub/Sub library is not GA, and breaking changes are to be expected, we
are close enough to a GA release that we think highlighting them is important.
-
Simplify the concurrency control configuration in
pubsub::SubscriberOptions.
Applications only need to set the maximum number of messages that will be
scheduled in parallel. -
Remove
pubsub::AckHandler::ack_id()accessor. We believe application
developers should have no need for this field. -
Rename
pubsub::SubscriptionOptionstopubsub::SubscriberOptionsas these
are bound to a specific subscriber object. -
Change the
pubsub::SubscriberAPI. ASubscriberis now bound to a specific
Cloud Pub/Sub subscription, with a fixed set ofSuscriptionOptions, just
like apubsub::Publisheris bound to a specific topic and a set of
PublisherOptions. In addition to making publishers and subscribers more
symmetrical, this makes the library more consistent with the Cloud Pub/Sub
library for other languages. Finally, note that we are planning to rename
SubscriptionOptionstoSubscriberOptionsin a future PR too. -
Remove option to disable retries in
Publisher::Publish. This is redundant as
the application can set a "no retries" retry policy. This is more consistent
with other Cloud Pub/Sub libraries. We include an example showing how to
configure a "no retries" retry policy. -
Fix inconsistent naming for
PublisherOptionsattributes controlling the
maximum number of messages per batch and the maximum number of bytes per
batch. -
Rename the
{Topic,Snapshot,Subscription}MutationBuilderclasses, removing
Mutationfrom their names. This makes the C++ library more familiar for
Cloud Pub/Sub developers coming from other languages. -
Simplify the message flow control configuration. Now that the library uses
streaming pulls, the low water marks are not used. The application developer
simply sets limits for the number of messages (and/or bytes) outstanding.
These limits are propagated to the service, and the service will stop
streaming if too many messages (or bytes) are outstanding.
Spanner
No user-facing changes.
Storage
BREAKING CHANGES:
- Our public headers no longer include
nlohmann/json.hpp. Please update your
code to directly include this header if you need it. We believe it is not a
good practice to depend on indirectly included headers, but do feel we should
warn our customers of this change.
OTHER CHANGES:
- Unexpected curl errors will now be retried (#5312)
- docs: add error handling example from
client->ReadObject()(#5274) - feat(storage): Create an example for
Client::DeleteResumableUpload() - doc: prefer UBLA references over bucket-policy-only