Skip to content

Releases: googleapis/google-cloud-rust

2026-01-13

14 Jan 15:46
13bef44

Choose a tag to compare

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::Empty to 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 Subscriber client for receiving messages from Cloud Pub/Sub.

    The Subscriber supports at-least-once delivery subscriptions. It handles lease management. It exposes flow control configuration. It includes idle stream keepalives.

    The Subscriber does 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

New Contributors

Full Changelog: release-20251210...release-20260113

2025-12-10

10 Dec 15:36
52a427b

Choose a tag to compare

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.).

Full Changelog: release-20251114...release-20251210

2025-11-14

15 Nov 00:31
25a62c1

Choose a tag to compare

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): ReadObject cloneable without cloneable stub by @mincrmatt12 in #3780

New Contributors

Full Changelog: release-20251111...release-20251114

2025-11-11

12 Nov 15:22
467f409

Choose a tag to compare

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

Full Changelog: release-20251024...release-20251111

2025-10-24

24 Oct 17:11
4de2930

Choose a tag to compare

New Libraries

  • We have completed the implementation of the Compute API.

What's Changed

Full Changelog: release-20251007...release-20251024

2025-10-07

08 Oct 17:06
149be44

Choose a tag to compare

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> and Vec<Facet>.
    • Our code generator incorrectly used the Facet as the items for search().by_items() and search_lite().by_items().
    • The current type is (naturally) SearchResult.
  • We also fixed a similar problem in google-cloud-retail-v2:
    • search() also returns pages with both SearchResult and Facet lists, and the by_items() helper used the Facet whereas SearchResult is the correct element to turn into items.

New Libraries

What's Changed

  • Refactor most trait implementations out of the model.rs files.

    • 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 StorageControl client 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).
  • docs(storage): make public example by @suzmue in #3314

  • test(storage): run UBLA-disabled samples by @dbolduc in #3324

  • docs(storage): object retention sample by @dbolduc in #3326

  • 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

  • fix: support locational endpoints by @dbolduc in #3402

  • docs: Adds setter samples for maps and repeated fields by @amanda-tarafa in #3409

  • docs(storage): nicer landing page by @dbolduc in #3421

  • fix: paginated response items by @coryan in #3431

  • fix(storage): respect locational endpoints by @dbolduc in #3445

New Contributors

Full Changelog: v1.0.0...v1.1.0

v1.0.0

09 Sep 12:53
e9b4038

Choose a tag to compare

First GA release

We are proud to announce the 1.0 release of the Google Cloud client libraries for Rust. This is the first GA version of the client libraries.

What's Included

  • Fully asynchronous clients for over 140 services, including Cloud Storage, Vertex AI, Secret Manager, and Key Management Service.
  • Fully asynchronous auth library, with support for application default credentials, service account credentials, user credentials, compute engine metadata service, and OIDC-based external credentials1.
  • Idiomatic abstractions for long-running operations and pagination APIs.
  • Automatic retries for requests that fail due to transient errors.
  • Automatic demarshalling of error details into idiomatic types.
  • Automatic resumes for uploads to and downloads from Cloud Storage.
  • Support for streaming uploads to Cloud Storage, with retries on errors.
  • Automatic checksumming of data uploaded to or downloaded from Cloud Storage.

What's changed

Compared to the previous release (v0.12.0) this release bumps the version numbers to 1.0.0 and updates README files.

Full Changelog: v0.12.0...v1.0.0

Footnotes

  1. Also known as workload identify federation or "bring your own id".

v0.12.0

06 Sep 02:32
77183b3

Choose a tag to compare

What's Changed

Breaking Changes

  • fix(auth)!: Remove support for quota project from API Key creds by @sai-sunder-s in #3244
  • fix(auth)!: Remove universe domain builder method for mds by @sai-sunder-s in #3249
  • cleanup(gax)!: future proof backoff policy by @coryan in #3250
  • cleanup(gax)!: future proof polling policies by @coryan in #3251

New Client Libraries

  • feat(gkerecommender/v1): generate library by @coryan in #3197

Other Changes

New Contributors

Full Changelog: v0.11.0...v0.12.0

v0.11.0

29 Aug 00:24
f23d269

Choose a tag to compare

What's Changed

Breaking Changes

  • The Cloud Storage client library includes many changes from the 0.25.0-preview5 version. Including:

    • feat(storage)!: return object on checksum mismatch by @coryan in #2871
    • cleanup(storage)!: rename download_resume_policy by @coryan in #2903
    • cleanup(storage)!: move KeyAes256 by @coryan in #2905
    • cleanup(storage)!: rename upload_source module by @coryan in #2904
    • cleanup(storage)!: rename upload_object() by @coryan in #2906
    • cleanup(storage)!: rename with_* setters by @coryan in #2913
    • cleanup(storage)!: rename RecommendedPolicy by @coryan in #2916
    • refactor(storage)!: move ObjectHighlights by @coryan in #2912
    • cleanup(storage)!: ranged reads made type-safe by @coryan in #2924
    • fix(storage)!: remove ChecksumEngine generic trait from the public API by @suzmue in #2907
    • refactor(storage)!: ReadObjectResponse uses pimpl by @dbolduc in #3137
  • cleanup(gax)!: group retry policy arguments by @coryan in #3007

Other announcements

  • We expect this will be the last release before 1.0.

  • feat(cloudsecuritycompliance): generate library by @coryan in #3172

Other changes

  • fix(storage): heed custom polling policies by @dbolduc in #2872
  • fix(storage): fewer errors abort uploads by @coryan in #2873
  • fix(storage): use size in multipart payloads by @coryan in #2877
  • docs(storage): more examples for buckets by @coryan in #2880
  • Docs: Edited examing errors guide to make it more consistent with oth… by @pcoet in #2881
  • docs(storage): bucket ACL examples by @coryan in #2883
  • docs(storage): folder and manage folder examples by @coryan in #2885
  • docs(storage): quickstart examples by @coryan in #2886
  • docs(storage): critical object examples by @coryan in #2900
  • doc(storage): document ChecksumMismatch by @coryan in #2902
  • ci: update Rust build to 1.89 by @coryan in #2908
  • fix(storage): missing header when resuming uploads by @coryan in #2910
  • fix(gax-internal): lazy connects for gRPC clients by @coryan in #2915
  • docs(user-guide): improve binding errors section by @pcoet in #2928
  • fix(storage): preconditions in single-shot uploads by @coryan in #2925
  • fix(storage): correct resumable uploads threshold by @coryan in #2938
  • chore: initial GEMINI.md file by @coryan in #2952
  • docs(storage): default event based hold samples by @coryan in #2951
  • impl(w1r3): deal with preconditions by @coryan in #2950
  • refactor(storage)!: relocate ReadObjectResponse by @dbolduc in #2942
  • fix(storage): more retryable errors by @coryan in #2949
  • docs(storage): public access prevention examples by @coryan in #2953
  • docs(storage): lifecycle examples by @coryan in #2978
  • refactor(storage): split single-shot tests by @coryan in #3005
  • fix(storage): 308s are errors for single-shot uploads by @coryan in #3027
  • fix: match code and minimal versions by @coryan in #3008
  • impl(w1r3): configurable read count by @coryan in #3030
  • docs(storage): website configuration examples by @coryan in #3029
  • refactor(w1r3): duplicate code in error details by @coryan in #3031
  • docs(storage): retention policy examples by @coryan in #3032
  • feat(storage): implement Clone and Display for KeyAes256 and add examples for using CSEK by @suzmue in #3004
  • feat(storage): better retry policy defaults by @coryan in #3124
  • docs(storage): add versioning examples by @coryan in #3034
  • fix(storage): correct mixin service name by @coryan in #3132
  • docs(storage): add some IAM examples by @coryan in #3134
  • docs(storage): add download byte range sample by @suzmue in #3127
  • docs(storage): examples for anywhere cache by @coryan in #3138
  • docs(storage): add autoclass examples by @coryan in #3139
  • docs(storage): add file upload and download examples by @suzmue in #3140
  • docs(storage): examples for CORS by @coryan in #3141
  • docs(user-guide): improve list operations guide by @pcoet in #3144
  • docs(generator/dart): update the generation docs for the Dart backend by @devoncarew in #3146
  • docs: how to get latest librarian version by @coryan in #3147
  • feat(dart): update the Dart SDK version by @devoncarew in #3150
  • docs(storage): more bucket IAM examples by @coryan in #3145
  • docs(storage): RPO examples by @coryan in #3148
  • fix: workload identity federation service account impersonation by @fujin in #3142
  • docs(storage): bucket label examples by @coryan in #3149
  • feat(storage): request types for mocking by @dbolduc in #3155
  • refactor(storage): Checksum as an option by @dbolduc in #3153
  • docs(storage): UBLA examples by @coryan in #3152
  • refactor(storage): use WriteObjectRequest by @dbolduc in #3159
  • refactor(storage): use stub for write_object by @dbolduc in #3161
  • docs(storage): default object ACL examples by @coryan in #3163
  • docs(storage): create bucket with object retention by @coryan in #3165
  • refactor(storage): client uses transport stub by @dbolduc in #3164
  • docs(storage): bucket KMS examples by @coryan in #3162
  • refactor(storage): client is templated on stubs by @dbolduc in #3167
  • feat(storage): fake ReadObjectResponse for mocks by @dbolduc in #3166
  • docs(storage): implement requester pays examples by @coryan in #3170
  • feat(storage): mocking by @dbolduc in #3169
  • doc(storage): nits by @dbolduc in #3173
  • docs(storage): documentation for write_object() by @coryan in #3174

New Contributors

Full Changelog: v0.10.0...v0.11.0

v0.10.0

11 Aug 23:21
bdf9ccb

Choose a tag to compare

What's Changed

Breaking Changes

Cloud Storage

The Cloud Storage client (still in preview) had several breaking changes as we complete the implementation and review the client library surface.

  • cleanup(storage)!: merge upload errors by @coryan in #2821
  • refactor(storage)!: rename send() for uploads by @coryan in #2836
  • cleanup(storage)!: reorganize errors and builders by @coryan in #2846
  • feat(storage): add md5 checksum support for downloads by @suzmue in #2845
  • cleanup(storage)!: change size_hint() return type by @coryan in #2858

Other Changes

Update all libraries to match the service definitions circa 2025-08-08

New Contributors

Full Changelog: v0.9.0...v0.10.0