Skip to content

Releases: googleapis/google-cloud-rust

v0.9.0

Choose a tag to compare

@coryan coryan released this 01 Aug 22:57
b03a2ab

What's Changed

General

  • We wrote down our MSRV, and our policy to update the MSRV: #2728
  • The implementation of std::fmt::Debug hides the _unknown_fields map if it is empty. The map is empty most of the time, and it is distracting to see in the debug output for nested messages.

Storage

This is the 0.25.0-preview4 release of the Cloud Storage Rust client. This preview includes breaking changes from 0.25.0-preview3, and we expect more breaking changes before GA.

Breaking Changes

  • We removed all_bytes() helper. This used to copy all the bytes into a single buffer. This is dangerous (the download may consume up to 5TiB of RAM, or maybe double this in some cases), and misleading (the data copy was not obvious). We are planning to restore the function with maybe a different signature.
  • size_hint() is now async.

Updates

  • Full downloads verify the checksum (CRC32C) of the received data vs. the checksum reported by the service.
    Downloads capture some metadata information about the object, such as its size, generation, and checksums.
  • A download from the service does not include all the information, but it is often enough to avoid a separate RPC.
  • read_object() will retry downloads that fail to start due to transient errors. It will also resume downloads that are interrupted after they successfully start.
  • upload_object() will retry uploads that fail due to transient errors.
  • upload_object() will verify the checksum returned by the service against the checksum computed from the data.
  • If the checksum is known, the application can set them as part of the upload_object() configuration. In this case the checksum is sent when the upload starts, and the service will verify the checksum before finalizing the upload.
  • If the data source supports Seek, the application can make a pass over the data to precompute the data checksums. In this case, the checksum is sent when the upload starts, and the service will verify the checksum before finalizing the upload.
  • upload_object() also supports the same functionality for MD5 hashes. However, these are slow and we do not recommend you use them unless they are known ahead of time.
  • The futures returned by upload_object() and read_object() are now Send and 'static, making them easier to use in your own code. Sorry we missed that.
  • Error messages for admin requests with missing information (such as the target bucket name) are much improved.
  • Applications can configure the size threshold that switches from single-shot to resumable uploads.
  • impl(storage): make upload buffer size configurable by @coryan in #2718
  • impl(storage): better upload for tokio files by @coryan in #2724
  • feat(storage): local binding errors for bad requests by @dbolduc in #2763
  • fix(storage): return correct errors in uploads by @coryan in #2769
  • feat(storage): add method to retrieve object metadata by @suzmue in #2685
  • feat(storage): upload idempotency option by @coryan in #2793

Auth

New Libraries

  • feat(cloud/bigquery/datapolicies/v2): generate library by @coryan in #2737
  • feat(configdelivery/v1): generate library by @coryan in #2738

Documentation and User Guide

  • docs: clarifications and fixes in retry guide by @pcoet in #2742
  • docs(user-guide): improve enum examples by @coryan in #2768
  • docs(guide): quickstart for Cloud Storage clients by @coryan in #2729
  • docs(storage): tutorial on using a queue by @coryan in #2756
  • docs(storage): add rewrite object guide by @dbolduc in #2767
  • docs(storage): show how to terminate uploads by @coryan in #2772
  • docs(storage): user guide for striped downloads by @coryan in #2770
  • docs: user guide for updating a resource by @pcoet in #2784

Full Changelog: v0.8.0...v0.9.0

v0.8.0

Choose a tag to compare

@dbolduc dbolduc released this 18 Jul 01:46
326d0d7

What's Changed

  • Document generation for docs.rs failed in v0.7.0: docs.rs uses nightly and our code failed to compile with that version.
  • fix(wkt): no private types in public traits by @dbolduc in #2711

Full Changelog: v0.7.0...v0.8.0

v0.7.0

Choose a tag to compare

@coryan coryan released this 17 Jul 02:00
aef399f

What's Changed

Breaking Changes

  • fix(auth)!: Remove option for loading any credential type from json by @sai-sunder-s in #2647

Other Notable Changes

  • A preview of the Google Cloud Storage client library.
  • Update all client libraries to the service definitions as of 2025-07-15.
  • feat(managedkafka/schemaregistry): generate library by @whuffman36 in #2576

More Details

New Contributors

Full Changelog: v0.6.0...v0.7.0

v0.6.0

Choose a tag to compare

@coryan coryan released this 24 Jun 03:36
97ff8eb

What's Changed

  • We stabilized the APIs for all client libraries. This required a number of breaking changes.
  • Our serialization and deserialization code now passes the ProtoJSON conformance tests.
    • For the most part this required accepting a number of messages that may be generated by other ProtoJSON implementations, but not by Google Cloud.
  • We ran a test performing over 1 billion calls to GCP without errors, leaks, or crashes.
  • The gax::error::Error type is stabilized and supports adding new kinds of errors without breaking applications.
    • We introduced specific error types where needed.
    • To query the error "kind" you can use predicates on the error, such as err.is_timeout()
    • We included troubleshooting guides with each error kind.
  • The auth library gained support for service account impersonation.
  • The auth library is gaining support for workload identity federation.
  • We disabled the default features in all our dependencies and only enable the features we use.
  • A number of new libraries.
    • feat(dataform): generate library by @suzmue in #2176
    • feat(cloudquotas/v1): generate library by @coryan in #2258
    • feat(managedkafka/v1): generate library by @coryan in #2449
    • feat(devicestreaming): generate library by @coryan in #2500
    • feat(storagebatchoperations/v1): enable publication by @coryan in #2502

Full Changelog: v0.5.0...v0.6.0

v0.5.0

Choose a tag to compare

@coryan coryan released this 15 May 11:49
62b98fa

What's Changed

Breaking Changes

  • Protobuf enumerations are mapped to Rust enumerations.

    • Implemented over several PRs, mainly #1953
  • The google-cloud-aiplatform-v1 crate gained features to select only a subset of the many clients in this crate.

    • Implemented over many PRs, including #1878
  • Most client methods lost the (so far required) path parameters, they must all be set on the request builder returned by these methods using .set_${field_name}(..).

    • The rationale is that many methods can use different fields to build the path parameter and can gain new fields like this over time.
    • Effectively we are trading-off compile-time errors for run-time errors but with more flexible evolution (and more features) for the services.
    • The current run-time errors are fairly minimal, we are planning to improve them in future releases.
  • cleanup(gax)!: hide default idempotency in RequestOptions by @dbolduc in #1877

  • cleanup(wkt)!: remove unused DurationError by @dbolduc in #1900

  • refactor(auth)!: replace create_access_token_credential with builder by @harkamaljot in #1903

  • refactor(auth)!: rename CredentialsTrait to CredentialsProvider by @harkamaljot in #1909

  • cleanup(wkt)!: hide message serialize fns by @dbolduc in #1917

  • cleanup(gax)!: seal Paginator traits by @dbolduc in #1971

  • cleanup(lro)!: seal Poller by @dbolduc in #1972

  • cleanup!: consistent naming style for features by @coryan in #2024

  • cleanup!: remove unstable-sdk-client feature by @coryan in #2025

  • feat(auth)!: update token and header interface by @harkamaljot in #2034

  • refactor(auth)!: replace create_api_key_credentials with builder by @chrischiedo in #2084

  • fix(auth)!: Single method in Service Account Builder for scopes and audience by @sai-sunder-s in #2089

  • cleanup(auth)!: simplify builder by @dbolduc in #2105

  • impl(generator/rust)!: prepare to support additional bindings by @coryan in #2114

  • refactor(auth)!: Remove token method credential provider by @harkamaljot in #2131

  • fix(auth)!: Make Token struct pub(crate) since it is not exposed in a public surface by @sai-sunder-s in #2142

  • feat(lro): convert wkt::Empty to unit type by @coryan in #2031

  • cleanup(wkt): more idiomatic AnyError by @coryan in #2123

  • feat(generator/rust): LROs with unit types by @coryan in #2062

  • fix(auth): Hide testing mod from public documentation by @sai-sunder-s in #2083


  • feat(dataplex/v1): generate library by @coryan in #1848

  • feat(lustre): generate library by @dbolduc in #1923

  • docs: prefer # Parameters in rustdoc comments by @coryan in #1817

  • docs: fix typos in user guide by @chrischiedo in #1823

  • docs: add speech-to-text api to set up dev instructions by @suzmue in #1827

  • docs: fix comments in rustdoc samples by @coryan in #1836

  • feat(auth): support non-default access token credentials by @harkamaljot in #1797

  • cleanup(gaxi): switch from built to rustc_version by @davidbarsky in #1875

  • fix(auth): remove trailing slash from Metadata root by @harkamaljot in #1886

  • docs: add user guide section on Vertex AI by @coryan in #1902

  • fix(gax): paginators should be Send by @coryan in #1916

  • fix(lro): Poller should be Send by @coryan in #1918

  • feat(gax): return default value for struct for 204 NoContent responses by @alvarowolfx in #1913

  • feat(generator/rust): document required setters by @coryan in #1965

  • feat: skip serializing default values by @dbolduc in #1969

  • docs: user guide for paginated operations by @PhongChuong in #1830

  • docs: add explicit dep to the guides by @PhongChuong in #1974

  • test: skip serializing default values in wkt tests by @suzmue in #1976

  • docs: write and link user guide for enumerations by @coryan in #1982

  • feat(generator/rust): use deprecation attributes by @coryan in #1983

  • fix: support nan, inf and -inf serde for f32 in generated code by @suzmue in #1979

  • impl(gax): normalize service errors by @coryan in #1993

  • docs: add instruction for integration test tracing by @PhongChuong in #2004

  • fix: use custom serde for doubles in generated code by @suzmue in #2008

  • fix: add custom serde for DoubleValue by @suzmue in #2009

  • docs: update ARCHITECTURE.md by @coryan in #2006

  • feat(auth): Introduce GCE_METADATA_HOST env var to set the metadata server host by @sai-sunder-s in #2005

  • fix(sql/v1): add crate to top-level workspace by @coryan in #2018

  • fix: POST and PUT requests with empty bodies by @coryan in #2017

  • docs: document features and internal modules by @coryan in #2026

  • docs(lro): examples for Poller by @coryan in #2028

  • docs(gax): Paginator and ItemPaginator samples by @coryan in #2029

  • feat(auth): optimize common path for MDS by @coryan in #2033

  • fix: add attributes for oneof variants in generated code by @suzmue in #2030

  • feat: simplify pagination helpers by @coryan in #2064

  • test: update map oneof test to include serde attribute by @suzmue in #2060

  • docs: add instructions for adding google-cloud-gax crate by @suzmue in #2109

  • docs: add google-cloud-gax instructions to cloud shell by @suzmue in #2112

  • cleanup(auth): reduce -sys dependencies by @coryan in #2118

  • feat(generator): add paginator support for legacy services with maxResults field name by @PhongChuong in #2115

  • docs(gax): fix several nits by @coryan in #2128

  • feat(generator/rust): request builder get examples by @coryan in #2130

  • fix(generator): create files without execute bits by @coryan in #2133

  • feat: telemetry includes REST vs. gRPC fields by @coryan in #2135

  • fix(wkt): deserialize floats from ints by @coryan in #2136

  • docs(lro): more readable type names by @coryan in #2140

  • docs(gax): more readable type names for *Paginator by @coryan in #2141

  • fix(lro): cannot use workspace for self dependency by @coryan in #2144

New Contributors

Read more

v0.4.0

Choose a tag to compare

@dbolduc dbolduc released this 16 Apr 14:08
e7b27ba

What's Changed

Breaking Changes

There were a number of breaking changes. Many were simple renames of functions. The most interesting were:

  1. Clients are now constructed by using a builder pattern. See How to initialize a client for the updated pattern.
  2. Many types not intended to be public were moved into either the google-cloud-gax-internal crate, or into a mod internal. These types are not part of the public API. They may change or be removed without notice, and we will not consider it a breaking change going forward.

Normal Changes

Read more

v0.3.0

Choose a tag to compare

@coryan coryan released this 19 Feb 00:20
d2ffff5

What's Changed

  • In this release we changed the prefix for all crates. They all live under google-cloud-*. This is the final location for the crates.
    • Thanks to @yoshidan for donating the crate names.
    • And to @codyoss for doing most of the migration.
  • We are working on a User Guide, please give us your feedback.
    • The guide includes set up instructions for Cloud Shell and developer workstations.

Breaking changes

Normal changes

Read more

v0.2.0

Choose a tag to compare

@codyoss codyoss released this 03 Feb 21:51
83b237d

What's Changed

  • BREAKING CHANGE feat!: mixins (RPCs injected into services from a small family of well-known generic services) work by adding RPCs instead of adding new clients.
  • BREAKING CHANGE cleanup(generator/rust): rename traits module by @coryan in #891
  • feat: applications can initialize clients to use service account credentials.
  • feat: applications can provide retry policies to either clients or specific RPCs (or both).
  • feat: helper functions to handle long-running operations (LROs).
  • feat: easier to use mapping for enum values.
  • feat: helpers to set and get oneof values.
  • feat: verify the type stored into an Any matches the type being extracted from the Any.
  • docs: multiple improvements to generated documentation:
  • Handle recursive types, that is, messages that refer to themselves directly or indirectly.
  • fix: serialization of oneof fields by @coryan in #637
  • feat(wkt): make any::AnyError Send and Sync by @coryan in #641
  • feat(gax): Status from a rpc::model::Status by @coryan in #650
  • feat(gax): use ServiceError for responses by @coryan in #659
  • feat(gax): a NeverRetry retry policy by @coryan in #687
  • feat(wkt): implement Struct and friends by @coryan in #754
  • feat(spanner): generate admin libraries by @coryan in #743
  • feat(wkt): generated but well known types by @coryan in #762
  • feat(kms): generate library by @coryan in #767
  • feat(cloudtrace/v2): generate library by @coryan in #784
  • feat(api): generate library for google/api by @coryan in #785
  • feat(sql/v1): generate library by @coryan in #786
  • feat(webrisk): generate library by @coryan in #787
  • feat(run/v2): generate library by @coryan in #788
  • feat(translate/v3): generate library by @coryan in #791
  • feat(cloudbuild/v2): generate library by @coryan in #790
  • feat(iam/v2): generate library by @coryan in #823
  • feat(iam/credentials/v1): generate library by @coryan in #820
  • feat(functions/v2): generate library by @coryan in #816
  • feat(bigtableadmin/v2): generate library by @coryan in #836
  • feat(iam-admin-v1): generate library by @coryan in #843
  • feat(scheduler/v1): generate library by @coryan in #848
  • feat(language/v2): generate library by @coryan in #855
  • feat(container/v1): generate library by @coryan in #854
  • feat(metricsscope/v1): generate library by @coryan in #860
  • feat(dashboard/v1): generate library by @coryan in #871
  • feat(resourcemanager/v3): generate library by @coryan in #880
  • feat(cloudbuild/v1): generate library by @coryan in #878
  • feat(tasks): generate v2 library by @codyoss in #906
  • feat(vpcaccess/v1): generate library by @coryan in #911
  • chore: update googleapis circa 2025-01-30 by @coryan in #914
  • refactor: move types library for google/api by @coryan in #918
  • feat(monitoring/v3): generate library by @coryan in #916
  • feat(dlp/v2): generate library by @coryan in #917
  • feat(serviceusage/v1): generate library by @coryan in #922
  • feat(servicemanagement/v1): generate library by @coryan in #933
  • feat(storagetransfer/v1): generate library by @coryan in #929

New Contributors

Full Changelog: v0.1.0...v0.2.0

v0.2.0-rc2

v0.2.0-rc2 Pre-release
Pre-release

Choose a tag to compare

@coryan coryan released this 03 Feb 17:16
813aaa8

What's Changed

  • feat(generator): provide default idempotency by @coryan in #622
  • feat(gax): retry policies and throttled attempts by @coryan in #623
  • feat(generator): capture protobuf LRO options by @coryan in #619
  • fix(auth): Credential API by @dbolduc in #618
  • chore: update dependencies by @coryan in #624
  • feat(auth): mockable Credentials by @dbolduc in #614
  • cleanup(gax): unused code with a feature combo by @coryan in #629
  • feat(gax): implement retry loop by @coryan in #565
  • feat(generator): weave mixin methods into services by @coryan in #630
  • cleanup(auth): use mock credentials in gax unit test by @dbolduc in #631
  • cleanup(auth): simpler test credentials by @dbolduc in #632
  • fix(wkt): extract Empty from Any by @coryan in #639
  • fix: serialization of oneof fields by @coryan in #637
  • feat(wkt): make any::AnyError Send and Sync by @coryan in #641
  • feat(wkt): supporting traits for better Any by @coryan in #643
  • ci: update typos-cli by @coryan in #644
  • feat(generator/rust): implement Message trait by @coryan in #646
  • feat(wkt): validate message typenames by @coryan in #642
  • chore(deps): update axum to 0.8.1 by @coryan in #647
  • chore(deps): update golang auth dependency by @coryan in #649
  • feat(gax): Status from a rpc::model::Status by @coryan in #650
  • cleanup(gax): move convert_headers() by @coryan in #648
  • cleanup(gax): remove unused function by @coryan in #654
  • impl(gax): introduce ServiceError by @coryan in #657
  • refactor(auth): prepare to support quota project in UC by @dbolduc in #656
  • feat(gax): use ServiceError for responses by @coryan in #659
  • cleanup(gax): simplify ReqwestClient debug by @coryan in #660
  • feat(auth): support quota project in UserCredentials by @dbolduc in #661
  • refactor(auth): simplify error creation by @dbolduc in #662
  • impl(internal/language): make TestRust_ParseOptions deterministic by @julieqiu in #665
  • impl(internal/language): refactor TestGo_MessageNames by @julieqiu in #664
  • impl(sidekick): move TemplateData to package language and create license package by @julieqiu in #667
  • impl(language): delete GenerateClientRequest by @julieqiu in #668
  • impl(language): remove Codec interface by @julieqiu in #669
  • impl(language): unexport unnecessary fields by @julieqiu in #670
  • impl(language): delete unused Go methods by @julieqiu in #671
  • impl(language): delete unused Rust methods by @julieqiu in #672
  • impl(language): delete Go codec by @julieqiu in #673
  • fix(generator): more mixins with streaming feature by @coryan in #663
  • impl(language): remove unnecessary dependency on Rust Codec by @julieqiu in #676
  • refactor(auth): provide default implementation for get_universe_domain by @harkamaljot in #678
  • chore(deps): bump google.golang.org/protobuf from 1.36.1 to 1.36.2 in /generator by @dependabot in #682
  • chore(deps): bump thiserror from 2.0.10 to 2.0.11 by @dependabot in #680
  • chore(deps): bump github.com/pb33f/libopenapi from 0.19.1 to 0.20.0 in /generator by @dependabot in #681
  • feat(generator/rust): named features for used pkgs by @coryan in #686
  • feat(gax): a NeverRetry retry policy by @coryan in #687
  • feat(lro): new crate for LRO helper support by @coryan in #685
  • impl(language): rewrite TestRust_EnumNames by @julieqiu in #675
  • feat(generator): fix top-level links by @coryan in #691
  • impl(language): convert Rust codec methods to functions by @julieqiu in #677
  • impl(language): refactor loadWellKnownTypes by @julieqiu in #692
  • impl: use gcp-sdk-lro as a named feature by @coryan in #689
  • refactor(gax): move ExponentialBackoff by @coryan in #699
  • impl(auth): more retrying? by @dbolduc in #700
  • feat(gax): options have polling backoff policy by @coryan in #701
  • feat(generator): create poller functions by @coryan in #698
  • cleanup(gcb): manage IAM policies elsewhere by @coryan in #704
  • feat(generator): make LRO examples testable by @coryan in #702
  • refactor(gax): move and rename RetryFlow by @coryan in #703
  • impl(language): refactor resolveUsedPackages by @julieqiu in #695
  • feat(gax): polling policies by @coryan in #706
  • impl(gax): make polling policies accessible by @coryan in #707
  • impl(language): convert rustCodec.validate to a function by @julieqiu in #696
  • impl(auth): Implement service account credentials by @harkamaljot in #674
  • impl(language): convert rustCodec.addStreamingFeature to a function by @julieqiu in #708
  • impl(language): convert generatedFiles to rustGeneratedFiles by @julieqiu in #709
  • feat(generator): Poller captures polling policies by @coryan in #710
  • ci(gcb): use sccache and GCS to speed up build by @coryan in #711
  • feat(gax): limit polling loops on success too by @coryan in #718
  • feat(lro): use polling policy on errors by @coryan in #719
  • feat(generator): add method to change all options by @coryan in #721
  • feat(generator): set options on LRO polling by @coryan in #722
  • impl(config): move sidekick.Config to separate package by @julieqiu in #725
  • feat(lro): use polling policy on success by @coryan in #723
  • fix: use goldmark for parsing code blocks from proto comments by @mpeddada1 in #693
  • chore: update googleapis circa 2025-01-17 by @coryan in #724
  • feat(lro): implement until_done() helper by @coryan in #726
  • chore: add instructions for updating golden files by @mpeddada1 in #728
  • feat(generator): add until_done() examples by @coryan in #730
  • test(auth): deflake jws test by @coryan in #732
  • chore(deps): bump google.golang.org/protobuf from 1.36.2 to 1.36.3 in /generator by @dependabot in #751
  • test(gax): update tests for query parameters by @coryan in #737
  • feat(generator/r...
Read more

v0.2.0-rc1

v0.2.0-rc1 Pre-release
Pre-release

Choose a tag to compare

@coryan coryan released this 03 Feb 16:23
b33f5e2

What's Changed

  • feat(generator): provide default idempotency by @coryan in #622
  • feat(gax): retry policies and throttled attempts by @coryan in #623
  • feat(generator): capture protobuf LRO options by @coryan in #619
  • fix(auth): Credential API by @dbolduc in #618
  • chore: update dependencies by @coryan in #624
  • feat(auth): mockable Credentials by @dbolduc in #614
  • cleanup(gax): unused code with a feature combo by @coryan in #629
  • feat(gax): implement retry loop by @coryan in #565
  • feat(generator): weave mixin methods into services by @coryan in #630
  • cleanup(auth): use mock credentials in gax unit test by @dbolduc in #631
  • cleanup(auth): simpler test credentials by @dbolduc in #632
  • fix(wkt): extract Empty from Any by @coryan in #639
  • fix: serialization of oneof fields by @coryan in #637
  • feat(wkt): make any::AnyError Send and Sync by @coryan in #641
  • feat(wkt): supporting traits for better Any by @coryan in #643
  • ci: update typos-cli by @coryan in #644
  • feat(generator/rust): implement Message trait by @coryan in #646
  • feat(wkt): validate message typenames by @coryan in #642
  • chore(deps): update axum to 0.8.1 by @coryan in #647
  • chore(deps): update golang auth dependency by @coryan in #649
  • feat(gax): Status from a rpc::model::Status by @coryan in #650
  • cleanup(gax): move convert_headers() by @coryan in #648
  • cleanup(gax): remove unused function by @coryan in #654
  • impl(gax): introduce ServiceError by @coryan in #657
  • refactor(auth): prepare to support quota project in UC by @dbolduc in #656
  • feat(gax): use ServiceError for responses by @coryan in #659
  • cleanup(gax): simplify ReqwestClient debug by @coryan in #660
  • feat(auth): support quota project in UserCredentials by @dbolduc in #661
  • refactor(auth): simplify error creation by @dbolduc in #662
  • impl(internal/language): make TestRust_ParseOptions deterministic by @julieqiu in #665
  • impl(internal/language): refactor TestGo_MessageNames by @julieqiu in #664
  • impl(sidekick): move TemplateData to package language and create license package by @julieqiu in #667
  • impl(language): delete GenerateClientRequest by @julieqiu in #668
  • impl(language): remove Codec interface by @julieqiu in #669
  • impl(language): unexport unnecessary fields by @julieqiu in #670
  • impl(language): delete unused Go methods by @julieqiu in #671
  • impl(language): delete unused Rust methods by @julieqiu in #672
  • impl(language): delete Go codec by @julieqiu in #673
  • fix(generator): more mixins with streaming feature by @coryan in #663
  • impl(language): remove unnecessary dependency on Rust Codec by @julieqiu in #676
  • refactor(auth): provide default implementation for get_universe_domain by @harkamaljot in #678
  • chore(deps): bump google.golang.org/protobuf from 1.36.1 to 1.36.2 in /generator by @dependabot in #682
  • chore(deps): bump thiserror from 2.0.10 to 2.0.11 by @dependabot in #680
  • chore(deps): bump github.com/pb33f/libopenapi from 0.19.1 to 0.20.0 in /generator by @dependabot in #681
  • feat(generator/rust): named features for used pkgs by @coryan in #686
  • feat(gax): a NeverRetry retry policy by @coryan in #687
  • feat(lro): new crate for LRO helper support by @coryan in #685
  • impl(language): rewrite TestRust_EnumNames by @julieqiu in #675
  • feat(generator): fix top-level links by @coryan in #691
  • impl(language): convert Rust codec methods to functions by @julieqiu in #677
  • impl(language): refactor loadWellKnownTypes by @julieqiu in #692
  • impl: use gcp-sdk-lro as a named feature by @coryan in #689
  • refactor(gax): move ExponentialBackoff by @coryan in #699
  • impl(auth): more retrying? by @dbolduc in #700
  • feat(gax): options have polling backoff policy by @coryan in #701
  • feat(generator): create poller functions by @coryan in #698
  • cleanup(gcb): manage IAM policies elsewhere by @coryan in #704
  • feat(generator): make LRO examples testable by @coryan in #702
  • refactor(gax): move and rename RetryFlow by @coryan in #703
  • impl(language): refactor resolveUsedPackages by @julieqiu in #695
  • feat(gax): polling policies by @coryan in #706
  • impl(gax): make polling policies accessible by @coryan in #707
  • impl(language): convert rustCodec.validate to a function by @julieqiu in #696
  • impl(auth): Implement service account credentials by @harkamaljot in #674
  • impl(language): convert rustCodec.addStreamingFeature to a function by @julieqiu in #708
  • impl(language): convert generatedFiles to rustGeneratedFiles by @julieqiu in #709
  • feat(generator): Poller captures polling policies by @coryan in #710
  • ci(gcb): use sccache and GCS to speed up build by @coryan in #711
  • feat(gax): limit polling loops on success too by @coryan in #718
  • feat(lro): use polling policy on errors by @coryan in #719
  • feat(generator): add method to change all options by @coryan in #721
  • feat(generator): set options on LRO polling by @coryan in #722
  • impl(config): move sidekick.Config to separate package by @julieqiu in #725
  • feat(lro): use polling policy on success by @coryan in #723
  • fix: use goldmark for parsing code blocks from proto comments by @mpeddada1 in #693
  • chore: update googleapis circa 2025-01-17 by @coryan in #724
  • feat(lro): implement until_done() helper by @coryan in #726
  • chore: add instructions for updating golden files by @mpeddada1 in #728
  • feat(generator): add until_done() examples by @coryan in #730
  • test(auth): deflake jws test by @coryan in #732
  • chore(deps): bump google.golang.org/protobuf from 1.36.2 to 1.36.3 in /generator by @dependabot in #751
  • test(gax): update tests for query parameters by @coryan in #737
  • feat(generator/r...
Read more