Skip to content

Releases: googleapis/google-cloud-rust

2026-08-26

Choose a tag to compare

@codyoss codyoss released this 27 Aug 13:12
4ae1bfd

What's Changed

We are pleased to announce the initial public preview of our Google Cloud BigQuery SDK, with a client for querying and a client for streaming writes. We welcome any feedback on the API surface and thank you in advance for trying it out!

New Contributors

Full Changelog: release-20260730...release-20260826

2026-07-30

Choose a tag to compare

@zhumin8 zhumin8 released this 30 Jul 21:04
e65d141

What's Changed

  • feat(streetview-publish-v1): generate library by @coryan in #6031
  • feat(health-v4): generate library by @noahdietz in #6034
  • feat(storage): make GrpcRustClient available as a transport option by @joshuatants in #6000
  • feat(storage): implement appendable upload connector by @vsharonlynn in #5956
  • feat(productregistry-v1): onboard new client by @noahdietz in #6051
  • feat(spanner): export SpannerRetryPolicy by @fornwall in #6048
  • feat(agentidentity-v1): onboard new client by @noahdietz in #6076
  • feat(storage): implement appendable upload background worker by @vsharonlynn in #6001
  • feat(spanner): add a priority setter to BatchDmlBuilder by @fornwall in #6047
  • feat(spanner): add request-options and change-stream-exclusion setters to BatchWriteTransactionBuilder by @fornwall in #6073
  • feat(blockchainnodeengine-v1): generate library by @coryan in #6094
  • fix(auth): add all 5xx status codes as retryable error by @alvarowolfx in #6093
  • feat(geo-type): onboard google-geo-type package by @noahdietz in #6096
  • feat(shopping-type): onboard google-shopping-type package by @noahdietz in #6097
  • feat(auth): add retry loop for generate_id_token by @alvarowolfx in #6090
  • feat(auth): add retry loop for generate_access_token by @alvarowolfx in #6092
  • feat(storage): implement appendable upload transport by @vsharonlynn in #6002
  • feat(storage): update request models for appendable upload by @vsharonlynn in #5957
  • feat(storage): implement open_appendable_object API by @vsharonlynn in #6113
  • fix(gax): enforce system-wins precedence for grpc headers by @xlai20 in #6103
  • cleanup(pubsub): simplify batch actor timer type signatures by @suzmue in #6129
  • feat(storage): implement reopen_appendable_object API by @vsharonlynn in #6114
  • feat(storage): add integration test for appendable upload by @vsharonlynn in #6115
  • feat(storage): implement TracingAppendableObjectWriter by @vsharonlynn in #5963
  • feat(storage): add tracing decorators for open_appendable_object by @vsharonlynn in #6155
  • feat(google-maps-fleetengine-v1): onboard new library by @noahdietz in #6164
  • feat(google-maps-fleetengine-delivery-v1): onboard new library by @noahdietz in #6165
  • feat(storage): add tracing decorators for reopen_appendable_object by @vsharonlynn in #6156
  • feat(pubsub): configure universe domain by @dbolduc in #6162
  • fix(spanner): fix off-by-one in the streaming-query retry attempt count by @fornwall in #6086
  • feat(maps): onboard several maps APIs by @noahdietz in #6167
  • feat(storage): introduce basic appendable upload benchmark scenario by @vsharonlynn in #6149
  • feat(storage): add iteration metrics and CSV reporting to appendable upload benchmark by @vsharonlynn in #6170
  • feat(spanner): connection options for Spanner Omni by @olavloite in #6205
  • feat(maps): onboard several maps APIs by @noahdietz in #6188
  • feat(maps): onboard more maps APIs by @noahdietz in #6217
  • feat(storage): object-level checksum in gRPC bidi read by @xlai20 in #6131
  • feat(storage): add runner script and docs for appendable upload benchmark by @vsharonlynn in #6171
  • feat(gax): add type-erased extensions support to ClientBuilder by @olavloite in #6213
  • docs(spanner): add samples for indexes with storing columns by @olavloite in #6193
  • feat(spanner): accept T: Into in parameter and mutation bindings by @olavloite in #6184
  • feat(spanner): add declarative mutation macro by @olavloite in #6196
  • docs(spanner): add partitioned DML samples by @olavloite in #6195
  • fix(deps): specify version for google-cloud-monitoring-v3 by @zhumin8 in #6239

New Contributors

Full Changelog: release-20260713...release-20260730

2026-07-13

Choose a tag to compare

@coryan coryan released this 13 Jul 23:51
544a5d8

What's Changed

  • fix(o11y): fix incorrect done status in LRO tracing by @haphungw in #5879
  • feat(spanner): implement FromValue for serde_json::Value with dynamic STRUCT/ARRAY deserialization by @buu-nguyen in #5863
  • feat(o11y): regenerate stubs with lro_stub_options enabled by @haphungw in #5880
  • docs(storage): document delete_source_objects by @joshuatants in #5881
  • test(o11y): add GAPIC LRO tracing success integration test by @haphungw in #5885
  • fix(spanner): include seqno with queries in r/w transactions by @olavloite in #5894
  • feat(google-cloud-agentregistry-v1): generate library by @zhumin8 in #5909
  • fix(spanner): make types module public for typed param construction by @buu-nguyen in #5912
  • perf(spanner): optimize failed first statement in read/write transaction by @olavloite in #5921
  • feat(spanner): support the last_statement flag by @olavloite in #5920
  • feat(storage): implement V4 Signed Policy Documents by @xlai20 in #5914
  • fix(o11y): fix record_discovery_polling_result macro compilation failure by @haphungw in #5952
  • fix(gax-internal): escape URL path in requests by @coryan in #5959
  • feat(developers/knowledge): onboard v1 library by @noahdietz in #5970
  • feat(gax): retry on timeouts policy decorator by @coryan in #5982
  • feat(o11y): extract error details and type for Discovery LROs by @haphungw in #5955
  • feat: onboard ads datamanager v1 by @noahdietz in #6011
  • feat: onboard apps events subscriptions v1 by @noahdietz in #6013
  • feat: onboard apps card v1 by @noahdietz in #6012
  • feat: onboard apps meet v2 by @noahdietz in #6018
  • feat: onboard chat v1 by @noahdietz in #6019
  • feat(o11y): remove google_cloud_unstable_tracing gate for LRO tracing by @haphungw in #5897
  • feat(oracledatabase)!: bump major version by @codyoss in #6028

New Contributors

Full Changelog: release-20260612...release-20260713

2026-06-12

Choose a tag to compare

@dbolduc dbolduc released this 12 Jun 05:09
6ee985d

What's Changed

Full Changelog: release-20260604...release-20260612

2026-06-04

Choose a tag to compare

@coryan coryan released this 04 Jun 15:18
c7f029a

What's New

This release includes a preview version for the Cloud Spanner client. We welcome feedback for this new client, and thank you in advance for trying it out.

What's Changed

  • fix(auth): refresh errors preserve good tokens by @coryan in #5825

Full Changelog: release-20260603...release-20260604

2026-06-03

Choose a tag to compare

@coryan coryan released this 04 Jun 04:32
1f16cd7

What's Changed

New Contributors

Full Changelog: release-20260505...release-20260603

2026-05-05

Choose a tag to compare

@noahdietz noahdietz released this 06 May 17:17
cb14b0c

What's Changed

New Contributors

Full Changelog: release-20260413...release-20260505

2026-04-13

Choose a tag to compare

@noahdietz noahdietz released this 14 Apr 16:07
d053bcd

What's Changed

The libraries are instrumented to generate the following signals:

  1. INFO spans for each logical client request. Typically a single method call in the client struct gets such a span.
  2. A histogram metric measuring the elapsed time for each logical client request.
  3. WARN logs for each logical client requests that fail.
  4. INFO spans 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.
  5. DEBUG logs 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

2026-03-27

Choose a tag to compare

@JoeWang1127 JoeWang1127 released this 27 Mar 12:44
5f5eb6c

New Libraries

What's Changed

  • feat(gax): retry on Unknown and 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

Choose a tag to compare

@miguelvelezsa miguelvelezsa released this 13 Mar 17:30
40581e2

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 -> MessageStream by @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 str by @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

Full Changelog: release-20260212...release-20260312