Releases: googleapis/google-cloud-rust
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
2025-10-07
Breaking Changes
- The google-cloud-cloudsecuritycompliance-v1 crate was bumped to 2.0 because the service had breaking changes.
- This is a Pre-GA service changes to its API are common and expected.
- google-cloud-discoveryengine-v1
- search(), and search_lite() return pages which contain both
Vec<SearchResult>andVec<Facet>. - Our code generator incorrectly used the
Facetas the items forsearch().by_items()andsearch_lite().by_items(). - The current type is (naturally)
SearchResult.
- search(), and search_lite() return pages which contain both
- We also fixed a similar problem in google-cloud-retail-v2:
- search() also returns pages with both
SearchResultandFacetlists, and theby_items()helper used theFacetwhereasSearchResultis the correct element to turn into items.
- search() also returns pages with both
New Libraries
- feat(locationfinder/v1): generate library by @coryan in #3299
- impl(compute/v1): bootstrap library by @coryan in #3383
What's Changed
-
Refactor most trait implementations out of the
model.rsfiles.- This reduces the file size by (approximately) a factor of 3, making it easier to read them in the documentation and to load them into IDEs.
-
Using locational or regional endpoints with the
StorageControlclient now result in errors.- The service does not support these endpoints (yet).
- The client library was erroneously using the global endpoint instead of the given locational or regional endpoints.
- If you encounter these errors, use the default, global endpoint (
storage.googleapis.com).
-
test(storage): run UBLA-disabled samples by @dbolduc in #3324
-
docs(storage): add read public object example by @suzmue in #3329
-
feat(storage): add rewrite_until_done helper as extension trait by @suzmue in #3328
-
docs(guide): add rewrite_until_done helper to rewrite guide by @suzmue in #3345
-
docs: Single value setter samples for Secret Manager and Workflows by @amanda-tarafa in #3369
-
docs: Adds setter samples for maps and repeated fields by @amanda-tarafa in #3409
-
fix(storage): respect locational endpoints by @dbolduc in #3445
New Contributors
- @westarle made their first contribution in #3346
- @brianquinlan made their first contribution in #3396
Full Changelog: v1.0.0...v1.1.0