Releases: googleapis/google-cloud-rust
20260413
What's Changed
The libraries are instrumented to generate the following signals:
INFOspans for each logical client request. Typically a single method call in the client struct gets such a span.- A histogram metric measuring the elapsed time for each logical client request.
WARNlogs for each logical client requests that fail.INFOspans for each low-level attempt RPC attempt. Typically a single method in the client struct gets one such span, but there may be more if the library had to retry the RPC.DEBUGlogs for each low-level attempt that fails.
These spans and logs follow OpenTelemetry Semantic Conventions with additional Google Cloud attributes. Both the spans and logs and are should be suitable for production monitoring.
The libraries also have DEBUG spans for each request, these include the full request body, the full response body for successful requests, and the full error message, with details, for failed requests. Consider the contents of these requests and responses before enabling them in production environments, as the request or responses may include sensitive data.
These DEBUG spans use the client library crate followed by ::tracing as their target (e.g. google-cloud-secretmanager-v1::tracing) and the method name as the span name.You can use the name and/or target to set up your filters.
Warning
Observability signals at any level may contain sensitive data such as resource names, full URLs, and error messages.
Before configuring subscribers or exporters for traces and logs, review the contents of the spans and consult the tracing framework documentation to set up filters and formatters to prevent leaking sensitive information, depending on your intended use case.
More information
The Enable logging guide shows you how to initialize a subscriber to log events to the console.
Other changes
- fix(pubsub): batch nacks on shutdown to respect service limits by @suzmue in #5149
- feat(storage): skip unnecessary checksum computation during read_object by @vsharonlynn in #5134
- fix(pubsub): avoid ack batch size limit errors by @dbolduc in #5227
- feat(pubsub): add APIs to shutdown subscriber by @dbolduc in #5257
- feat(pubsub): add nack() method to Handler for AtLeastOnce by @suzmue in #5261
- fix(auth): executable sourced creds should accept id token type by @alvarowolfx in #5316
- feat(pubsub): add confirmed_nack to ExactlyOnce handler by @suzmue in #5303
- docs: minor docs fixes by @zoryamba in #5370
- docs: fix enum guide link by @dbolduc in #5378
Full Changelog: release-20260327...release-20260413
20260327
New Libraries
What's Changed
- feat(gax): retry on
Unknownand 503 by @coryan in #5023 - feat(pubsub): configurable max lease by @dbolduc in #5005
- feat(storage): Add method to disable checksums on read object by @vsharonlynn in #4993
- feat(pubsub): add exactly once delivery in Subscriber by @PhongChuong in #5032
- fix(pubsub): longer default lease extension by @dbolduc in #5045
- docs(pubsub): fix link in the Publisher doc comment by @suzmue in #5066
- docs(storage): add bucket encryption examples by @joshuatants in #5073
- feat(pubsub): configure subscriber shutdown behavior by @dbolduc in #5064
- fix(pubsub): default shutdown behavior by @dbolduc in #5110
- docs(pubsub): remove warnings about crate instability by @suzmue in #5082
Full Changelog: release-20260312...release-20260327
2026-03-12
Breaking Changes
- fix(pubsub)!: return PublishError from Publish instead of an Arcgax::error by @PhongChuong in #4681
- cleanup(pubsub)!: move the BasePublisher out of crate::client::* by @suzmue in #4637
- cleanup(pubsub)!: rename
Session->MessageStreamby @dbolduc in #4742 - refactor(pubsub)!: rename subscriber stream creation functions by @suzmue in #4799
- cleanup(pubsub)!: rename subscribe API by @dbolduc in #4910
- cleanup(pubsub)!: clarify deadline extension option by @dbolduc in #4949
New Libraries
- feat(google-cloud-hypercomputecluster-v1): generate library by @miguelvelezsa in #4932
- feat(google/cloud/vectorsearch/v1): generate library by @miguelvelezsa in #4934
- feat(securitycentermanagement-v1): add library by @coryan in #4986
- feat(pubsub): the library reached 0.33.0 we think we are less likely to change the APIs before GA and 1.0
What's Changed
- fix(pubsub): Publisher byte threshold off by one error by @PhongChuong in #4651
- docs(pubsub): add subscriber example to client module docs by @suzmue in #4686
- feat(pubsub): make ListTopicSubscriptions a paginator by @suzmue in #4709
- feat(pubsub): add default backoff_policy for the publisher by @suzmue in #4712
- feat(pubsub): define default retry policy for publisher by @suzmue in #4711
- docs(storage): add sample for storage_open_object_single_ranged_read by @joshuatants in #4676
- docs: Generate RPC samples for all APIs by @amanda-tarafa in #4720
- fix(pubsub): handle batch actor shutdown gracefully by @suzmue in #4725
- fix(pubsub): returnย error when publishing messages that are too large by @PhongChuong in #4732
- fix(doc): Concurrency bug in striped_downloads.md guide by @fellhorn in #4731
- feat(pubsub): retry batches for ordering key messages forever by @suzmue in #4722
- feat(pubsub): use configured retry policy for ordering key by @suzmue in #4743
- feat(storage): tracing and logging by @coryan in #4740
- docs(guide): fix striped downloads on Windows by @coryan in #4748
- docs(storage): add sample for storage_open_object_read_full_object by @vsharonlynn in #4745
- docs(pubsub): cleanup the crate level documentation by @suzmue in #4779
- docs(pubsub): improve PublishFuture documentation by @suzmue in #4780
- docs(pubsub): cleanup documentation to include receiving messages by @suzmue in #4794
- docs(storage): add sample for storage_open_object_multiple_ranged_read by @vsharonlynn in #4785
- fix(pubsub): increase default publish batch limit to 1 MB by @suzmue in #4802
- feat(auth): AWS sourced external accounts by @alvarowolfx in #4790
- docs: Slight change in generated sample formatting by @amanda-tarafa in #4827
- fix(pubsub): publish messages larger than the configured batch threshold by @PhongChuong in #4822
- fix(pubsub): update Flush to not block the Publisher by @PhongChuong in #4823
- docs(storage): add sample for storage_open_multiple_objects_ranged_read by @vsharonlynn in #4816
- docs: Improve parameter naming for RPC samples by @amanda-tarafa in #4837
- feat(gax): retry policy decorator for 429 errors by @coryan in #4783
- docs(guide): follow google style guide by @coryan in #4831
- fix(pubsub): permanent errors end stream by @dbolduc in #4849
- docs: Generate QuickStart samples by @amanda-tarafa in #4844
- feat(gax): make
error::rpc::Code::name()be&'static strby @coryan in #4876 - feat(auth): add support for headless workforce identity by @alvarowolfx in #4825
- feat(storage): support setting a custom user-agent on the client by @joshuatants in #4839
- docs: Generate QuickStarts for all APIs by @amanda-tarafa in #4889
- fix(pubsub): make Publisher::builder() generic by @suzmue in #4929
- docs(pubsub): improve flush documentation by @suzmue in #4930
- fix(conformance): remove -root suffix from conformance module by @jameslynnwu in #4921
- docs(pubsub): touchup gRPC subchannel by @dbolduc in #4954
- docs(pubsub): add generic client documentation to the publisher client by @suzmue in #4958
- docs(pubsub): clarify ordered delivery by @dbolduc in #4961
- docs(pubsub): add into_stream example by @dbolduc in #4965
New Contributors
- @fellhorn made their first contribution in #4731
- @vsharonlynn made their first contribution in #4745
- @olavloite made their first contribution in #4828
- @jskeet made their first contribution in #4893
- @jameslynnwu made their first contribution in #4921
Full Changelog: release-20260212...release-20260312
2026-02-12
Breaking changes
- google-cloud-pubsub: the preview version includes the following changes.
New libraries
- gkehub-rbacrolebindingactuation-v1: generate library by @coryan in #4568
- google-cloud-auditmanager-v1: generate library by @JoeWang1127 in #4569
What's Changed
- feat(pubsub): add simple Publisher builder by @suzmue in #4343
- docs(pubsub): improve setter documenations for publisher by @suzmue in #4438
- fix(pubsub): remove unnecessary worker spawn by @PhongChuong in #4444
- docs(gax): fix rustdoc warnings by @coryan in #4453
- feat(auth): add retry to mds idtoken provider by @alvarowolfx in #4256
- fix(pubsub): nack messages when handler is dropped by @haphungw in #4548
- docs(storage): add samples for generate signed urls by @joshuatants in #4525
- fix(pubsub): retry acks when channel closes by @dbolduc in #4575
- feat(pubsub): include subscription name in StreamingPull header by @haphungw in #4585
- docs(storage): include into_stream adapter by @dbolduc in #4594
- feat(pubsub): implement
into_streamfor aSessionby @haphungw in #4590 - docs(pubsub): link types in publisher builder doc comments by @suzmue in #4615
- docs(pubsub): match the Publisher to other client comment style by @suzmue in #4617
- fix(pubsub): change error return type for publish to Arc by @suzmue in #4620
- feat(storage): prepare for LRO returning Empty by @coryan in #4633
- docs(pubsub): handler examples by @dbolduc in #4639
- docs(pubsub): note on ordered delivery by @dbolduc in #4640
- fix(pubsub): handle shutdown behavior for publisher by @suzmue in #4622
- fix: token cache exits after exhaustive retries by @alvarowolfx in #4551
- docs(pubsub): add exactly-once disclaimer by @dbolduc in #4649
- docs: Generate sample for List RPCs by @amanda-tarafa in #4641
New Contributors
- @haphungw made their first contribution in #4433
- @joshuatants made their first contribution in #4525
- @suztomo made their first contribution in #4627
- @miguelvelezsa made their first contribution in #4662
Full Changelog: release-20260128...release-20260212
2026-01-28
Breaking changes
-
google-cloud-dialogflow-cx-v3: the service removed a number of fields #4398
While we do not expect that any working application can use or receive the fields, we bumped the major version as the change is breaking. -
google-cloud-pubsub: the preview version includes the following changes.
New libraries
- google-cloud-dns-v1: generate library by @coryan in #4341 and #4376
- google-cloud-apiregistry-v1: generate library by @coryan in #4356
What's changed
-
Pub/Sub subscriber message streams stay open indefinitely. They no longer close after ~30 minutes.
-
feat(auth): make
jsonwebtokenbackend optional by @coryan in #4231 -
fix: force http1 only by @PhongChuong in #4296
-
docs(pubsub): subscriber observability note by @dbolduc in #4312
-
docs: fix broken 'Address Cascading Failures' links by @suzmue in #4325
-
feat(pubsub): pause the publisher for an ordering key when there is an error by @PhongChuong in #4286
-
docs: Generate samples for methods using wildcard typed resources. by @amanda-tarafa in #4324
-
docs: Generate undelete RPC samples by @amanda-tarafa in #4340
-
fix(compute/v1): fix
ReservationSlotspath validation by @coryan in #4342 -
feat(auth): prune crypto provider dependencies by @coryan in #4220
-
feat(pubsub): add ability to resume publishing for Publisher by @PhongChuong in #4338
-
feat(storage): prune crypto provider dependencies by @coryan in #4362
-
feat: allow applications to prune crypto providers by @coryan in #4366
-
docs: default
rustlscrypto provider changes by @coryan in #4382 -
docs: update default
rustlscrypto provider by @coryan in #4383 -
fix(auth): force minimum version for
aws-lc-rsby @coryan in #4387 -
docs: Generate samples for LROs. by @amanda-tarafa in #4409
New Contributors
Full Changelog: release-20260113...release-20260128
2026-01-13
Breaking Changes
-
google-cloud-sql-v1 released as 2.0.0.
The service no longer accepts or produces a number of enum variants in SqlDSatabaseVersion.
These variants have been removed. While we do not expect that any working application can use or receive these enum values, we bumped the major version as the change is breaking.
-
google-cloud-compute-v1 released as 2.0.0.
A small number of functions, which we expect are rarely used, changed from returning
wkt::Emptyto returning the unit type(). This makes the client consistent with clients for other services. We apologize for any inconvenience.For more details, see the 2.0.0 migration guide.
Interesting features
-
The Cloud Pub/Sub preview gained a number of features, including a high-throughput
Subscriberclient for receiving messages from Cloud Pub/Sub.The
Subscribersupports at-least-once delivery subscriptions. It handles lease management. It exposes flow control configuration. It includes idle stream keepalives.The
Subscriberdoes not yet support stream retries (so sessions timeout after ~30 minutes), exactly-once delivery, or mocking. We are working on these.Your feedback is greatly appreciated while we stabilize this API!
-
The Cloud Storage client now supports
open_object().This operation allows you to open an object and then perform multiple ranged reads on the object.
Each ranged read has lower latency than performing the read by itself.
Note that this features is under an allow list, contact your account team to include your project into the list.
-
The Google Cloud Storage client can now created signed URLs.
-
Code samples showing how to use some client functions.
What's changed
- feat(pubsub): Initial support message ordering in Publisher by @PhongChuong in #4016
- docs(pubsub): override the service descriptions for admin clients by @suzmue in #4065
- fix(compute)!: prefer unit type over
wkt::Emptyin interfaces by @dbolduc in #4075 - docs(compute): include all features by @dbolduc in #4092
- docs(storage): improve
with_grpc_subchannelrustdoc by @coryan in #4094 - feat(storage): add
open_object()API by @coryan in #4108 - docs(guide): fix broken LRO links in compute.md by @gadekarnitesh in #4126
- feat(eventarcpublishing/v1): generate library by @coryan in #4145
- docs(storage):
open_object()is under allow list by @coryan in #4175 - docs(storage): improve signed url docs by @alvarowolfx in #4178
- docs(auth): improve signer docs by @alvarowolfx in #4180
- docs(storage): improve signed url builder docs by @alvarowolfx in #4197
- docs(auth): improve signer docs with devsite refs by @alvarowolfx in #4201
- docs(storage): add SignedUrlBuilder in main storage module page by @alvarowolfx in #4200
- feat(pubsub): add
Subscriberby @dbolduc in #4227 - idtoken: cache
user_accounttoken provider by @howardjohn in #4221 - docs: Samples for simple RPCs including get and delete by @amanda-tarafa in #4245
- chore(cloud-sql-v1)!: bump version to 2.0 by @coryan in #4273
New Contributors
- @zhumin8 made their first contribution in #4122
- @Bitdragon50 made their first contribution in #4109
- @gadekarnitesh made their first contribution in #4126
- @ldetmer made their first contribution in #4189
- @howardjohn made their first contribution in #4221
Full Changelog: release-20251210...release-20260113
2025-12-10
What's Changed
We are happy to announce that the google-cloud-compute-v1 crate is now Generally Available (GA).
We added support for ID Tokens in google-cloud-auth.
We also added a way to get access tokens directly in google-cloud-auth (instead of via a HeaderMap).
We also added examples for all setters for our message types (requests, responses, etc.).
- feat(trace/v1): generate library by @dbolduc in #3823
- docs(auth): add builder examples to id token builder by @alvarowolfx in #3818
- docs: add commit message guidance to CONTRIBUTING.md by @suzmue in #3834
- docs(auth): add idtoken samples by @alvarowolfx in #3819
- feat(aiplatform/v1): generate
schemacrates by @coryan in #3847 - feat(pubsub)!: Rename PublisherFactory to Client by @PhongChuong in #3905
- feat(auth): allow consuming access tokens directly by @alvarowolfx in #3642
- feat(auth): make idtoken stable by @alvarowolfx in #3821
- fix(gax-internal): no TLS config for http and IPv6 by @coryan in #3926
- feat(pubsub): add byte threshold to publisher by @PhongChuong in #3925
- docs(compute/v1): bump to 1.0.0 by @coryan in #4002
- feat(maintenance): generate library by @coryan in #4003
- feat(biglake/v1): generate library by @coryan in #4004
- docs: Generate setter samples for all by @amanda-tarafa in #4017
Full Changelog: release-20251114...release-20251210
2025-11-14
What's Changed
This release resolves an issue with our minimal version requirements. All of our crates that depend on google-cloud-longrunning received a patch release.
In addition, here are some of the other changes that are included in this release:
- cleanup(auth): make jsonwebtoken a dep only with cfg_google_cloud_unstable_id_token by @alvarowolfx in #3786
- fix(storage):
ReadObjectcloneable without cloneable stub by @mincrmatt12 in #3780
New Contributors
- @mincrmatt12 made their first contribution in #3780
- @JoeWang1127 made their first contribution in #3804
Full Changelog: release-20251111...release-20251114
2025-11-11
New Libraries
- We are happy to announce the v0.31.0-preview release of google-cloud-pubsub. As the version indicates, this library is under active development. We anticipate many breaking changes over the next few releases. The library is known to be incomplete. We do not recommend that you use the library in production. We do welcome feedback about the API, the documentation, or any bugs you may find.
What's Changed
- feat(gax): introduce connect error by @dbolduc in #3654
- fix(gaxi): retry connect errors by @dbolduc in #3656
- fix(storage): retry connection errors by @dbolduc in #3657
- fix(gaxi): retry connect errors over gRPC by @dbolduc in #3658
- docs(guide): how-to override the default endpoint by @coryan in #3667
- docs(guide): how-to override default authentication by @coryan in #3662
- docs(guide): how-to enable logging by @coryan in #3674
- doc(storage): document stub module by @dbolduc in #3690
- fix(storage):
StorageImplnameable outside crate by @dbolduc in #3683 - impl(storage): handle redirect errors by @coryan in #3715
- feat(gax-internal): preserve
tonic::Statuserrors by @coryan in #3758
Full Changelog: release-20251024...release-20251111
2025-10-24
New Libraries
- We have completed the implementation of the Compute API.
What's Changed
- feat(storage): accept String payload for write_object by @dbolduc in #3480
- docs: Show actual enum values in setter samples. by @amanda-tarafa in #3415
- docs(storage): user guide for mocking
Storageby @dbolduc in #3483 - fix(auth): Read scope from impersonated json by @sai-sunder-s in #3495
- docs(guide): code snippets for compute library by @coryan in #3515
- docs: Add setter samples for oneof fields by @amanda-tarafa in #3527
- docs: retries by default by @dbolduc in #3558
- docs: no client threads by @dbolduc in #3559
- fix(storage): disable default decompression by @coryan in #3550
- feat(storage): support decompressive transcoding by @coryan in #3573
- docs(compute/v1): initial user guide by @coryan in #3598
- fix(storage):
send_buffered()fails for some object sizes by @coryan in #3616 - docs(guide): update setup guide with user feedback improvements by @PhongChuong in #3620
Full Changelog: release-20251007...release-20251024