google-cloud-storage breaking changes
cargo48 curated breaking changes across major versions of google-cloud-storage. Use this as a migration checklist before bumping dependencies.
- v0.8.0 \u2192 v0.9.0breaking
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.
- v0.8.0 \u2192 v0.9.0breaking
`size_hint()` is now async.
- v0.6.0 \u2192 v0.7.0breaking
fix(auth)!: Remove option for loading any credential type from json by @sai-sunder-s in https://github.com/googleapis/google-cloud-rust/pull/2647
- v0.4.0 \u2192 v0.5.0breaking
Implemented over several PRs, mainly https://github.com/googleapis/google-cloud-rust/pull/1953
- v0.4.0 \u2192 v0.5.0breaking
Protobuf enumerations are mapped to Rust enumerations.
- v0.4.0 \u2192 v0.5.0breaking
The google-cloud-aiplatform-v1 crate gained features to select only a subset of the many clients in this crate.
- v0.4.0 \u2192 v0.5.0breaking
Implemented over many PRs, including https://github.com/googleapis/google-cloud-rust/pull/1878
- v0.4.0 \u2192 v0.5.0breaking
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}(..)`.
- v0.3.0 \u2192 v0.4.0breaking
impl(auth)!: ring for default crypto provider by @dbolduc in https://github.com/googleapis/google-cloud-rust/pull/1492
- v0.3.0 \u2192 v0.4.0breaking
refactor!: move param helpers to `g-c-http-client` by @coryan in https://github.com/googleapis/google-cloud-rust/pull/1507
- v0.3.0 \u2192 v0.4.0breaking
refactor!: move `ReqwestClient` by @coryan in https://github.com/googleapis/google-cloud-rust/pull/1497
- v0.3.0 \u2192 v0.4.0breaking
cleanup!: remove 'unstable-stream' feature from clients by @dbolduc in https://github.com/googleapis/google-cloud-rust/pull/1499
- v0.3.0 \u2192 v0.4.0breaking
feat(gax)!: stable paginator by @dbolduc in https://github.com/googleapis/google-cloud-rust/pull/1466
- v0.2.0 \u2192 v0.3.0breaking
feat(auth)!: clone-able `CredentialError` by @dbolduc in https://github.com/googleapis/google-cloud-rust/pull/1349
- v0.2.0 \u2192 v0.3.0breaking
fix(auth)!: stable token expiration type by @dbolduc in https://github.com/googleapis/google-cloud-rust/pull/1134
- v0.2.0-rc2 \u2192 v0.2.0breaking
feat: applications can initialize clients to use service account credentials.
- v0.2.0-rc2 \u2192 v0.2.0breaking
feat: applications can provide retry policies to either clients or specific RPCs (or both).
- v0.2.0-rc2 \u2192 v0.2.0breaking
feat: helper functions to handle long-running operations (LROs).
- v0.2.0-rc2 \u2192 v0.2.0breaking
feat: easier to use mapping for enum values.
- v0.2.0-rc2 \u2192 v0.2.0breaking
**BREAKING CHANGE** cleanup(generator/rust): rename `traits` module by @coryan in https://github.com/googleapis/google-cloud-rust/pull/891
- v0.11.0 \u2192 v0.12.0breaking
fix(auth)!: Remove universe domain builder method for mds by @sai-sunder-s in https://github.com/googleapis/google-cloud-rust/pull/3249
- v0.11.0 \u2192 v0.12.0breaking
cleanup(gax)!: future proof backoff policy by @coryan in https://github.com/googleapis/google-cloud-rust/pull/3250
- v0.11.0 \u2192 v0.12.0breaking
cleanup(gax)!: future proof polling policies by @coryan in https://github.com/googleapis/google-cloud-rust/pull/3251
- v0.11.0 \u2192 v0.12.0breaking
fix(auth)!: Remove support for quota project from API Key creds by @sai-sunder-s in https://github.com/googleapis/google-cloud-rust/pull/3244
- v0.10.0 \u2192 v0.11.0breaking
feat(storage)!: return object on checksum mismatch by @coryan in https://github.com/googleapis/google-cloud-rust/pull/2871
- v0.10.0 \u2192 v0.11.0breaking
The Cloud Storage client library includes many changes from the 0.25.0-preview5 version. Including:
- v0.10.0 \u2192 v0.11.0breaking
cleanup(storage)!: rename `download_resume_policy` by @coryan in https://github.com/googleapis/google-cloud-rust/pull/2903
- v0.10.0 \u2192 v0.11.0breaking
cleanup(storage)!: move `KeyAes256` by @coryan in https://github.com/googleapis/google-cloud-rust/pull/2905
- v0.10.0 \u2192 v0.11.0breaking
cleanup(storage)!: rename `upload_source` module by @coryan in https://github.com/googleapis/google-cloud-rust/pull/2904
- release-20260212 \u2192 release-20260312breaking
fix(pubsub)!: return PublishError from Publish instead of an Arc<gax::error> by @PhongChuong in https://github.com/googleapis/google-cloud-rust/pull/4681
- release-20260212 \u2192 release-20260312breaking
cleanup(pubsub)!: rename subscribe API by @dbolduc in https://github.com/googleapis/google-cloud-rust/pull/4910
- release-20260212 \u2192 release-20260312breaking
refactor(pubsub)!: rename subscriber stream creation functions by @suzmue in https://github.com/googleapis/google-cloud-rust/pull/4799
- release-20260212 \u2192 release-20260312breaking
cleanup(pubsub)!: rename `Session` -> `MessageStream` by @dbolduc in https://github.com/googleapis/google-cloud-rust/pull/4742
- release-20260212 \u2192 release-20260312breaking
cleanup(pubsub)!: move the BasePublisher out of crate::client::* by @suzmue in https://github.com/googleapis/google-cloud-rust/pull/4637
- release-20260128 \u2192 release-20260212breaking
[google-cloud-pubsub](https://crates.io/crates/google-cloud-pubsub/0.32.2-preview): the preview version includes the following changes.
- release-20260128 \u2192 release-20260212breaking
cleanup(pubsub)!: rename `PubsubMessage` -> `Message` by @dbolduc in https://github.com/googleapis/google-cloud-rust/pull/4634
- release-20260128 \u2192 release-20260212breaking
cleanup(pubsub)!: remove explicit nack by @haphungw in https://github.com/googleapis/google-cloud-rust/pull/4549
- release-20260128 \u2192 release-20260212breaking
cleanup(pubsub)!: rename PublishHandle to PublishFuture by @suzmue in https://github.com/googleapis/google-cloud-rust/pull/4636
- release-20260113 \u2192 release-20260128breaking
[google-cloud-pubsub](https://crates.io/crates/google-cloud-pubsub/0.32.2-preview): the preview version includes the following changes.
- release-20260113 \u2192 release-20260128breaking
[google-cloud-dialogflow-cx-v3](https://crates.io/crates/google-cloud-dialogflow-cx-v3): the service removed a number of fields https://github.com/googleapis/google-cloud-rust/pull/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.
- release-20260113 \u2192 release-20260128breaking
refactor(pubsub)!: Rename Client to BasePublisher by @suzmue in https://github.com/googleapis/google-cloud-rust/pull/4283
- release-20251210 \u2192 release-20260113breaking
[google-cloud-compute-v1](https://crates.io/crates/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](https://github.com/googleapis/google-cloud-rust/blob/539b576f426918883f32ce55a385fea852bde2bf/doc/migrations/google-cloud-
- release-20251210 \u2192 release-20260113breaking
[google-cloud-sql-v1](https://crates.io/crates/google-cloud-sql-v1) released as 2.0.0. The service no longer accepts or produces a number of enum variants in [SqlDSatabaseVersion](https://docs.rs/google-cloud-sql-v1/1.3.0/google_cloud_sql_v1/model/enum.SqlDatabaseVersion.html). 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.
- v1.0.0 \u2192 release-20251007breaking
This is a [Pre-GA service](https://cloud.google.com/security-command-center/docs/compliance-manager-overview) changes to its API are common and expected.
- v1.0.0 \u2192 release-20251007breaking
Our code generator incorrectly used the `Facet` as the items for `search().by_items()` and `search_lite().by_items()`.
- v1.0.0 \u2192 release-20251007breaking
[search()](https://docs.rs/google-cloud-discoveryengine-v1/2.0.0/google_cloud_discoveryengine_v1/client/struct.SearchService.html#method.search), and [search_lite()](https://docs.rs/google-cloud-discoveryengine-v1/2.0.0/google_cloud_discoveryengine_v1/client/struct.SearchService.html#method.search_lite) return pages which contain both `Vec<SearchResult>` and `Vec<Facet>`.
- v1.0.0 \u2192 release-20251007breaking
[google-cloud-discoveryengine-v1](https://crates.io/crates/google-cloud-discoveryengine-v1)
- v1.0.0 \u2192 release-20251007breaking
The [google-cloud-cloudsecuritycompliance-v1](https://crates.io/crates/google-cloud-cloudsecuritycompliance-v1) crate was bumped to 2.0 because the service had breaking changes.
Get this data programmatically \u2014 free, no authentication.
curl https://depscope.dev/api/breaking/cargo/google-cloud-storage