From 1ffe00a3492abce4692d1fd4b71da9347555a30a Mon Sep 17 00:00:00 2001 From: Emil Bonne Kristiansen Date: Wed, 7 Jan 2026 01:23:39 +0100 Subject: [PATCH 1/4] [Rust] Update reqwest dependency to 0.13 with query and form features Update the Rust client generator template to use reqwest 0.13 instead of 0.12, as requested in issue #22621. In reqwest 0.13, the `query()` and `form()` methods have been moved behind feature flags and are disabled by default. Since the generated Rust clients extensively use both methods, these features must be explicitly enabled. Changes: - Updated all reqwest dependencies from ^0.12 to ^0.13 - Added "query" and "form" to reqwest feature flags for all variants: - Blocking client configuration - Async client with file stream support - Async client without file stream - Reqwest-trait variant - Updated reqwest-middleware features for consistency This maintains full backward compatibility as only the dependency version and features change. The API surface of generated code remains identical. Fixes #22621 --- .../src/main/resources/rust/Cargo.mustache | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/modules/openapi-generator/src/main/resources/rust/Cargo.mustache b/modules/openapi-generator/src/main/resources/rust/Cargo.mustache index 05846b4f1def..400535bdba19 100644 --- a/modules/openapi-generator/src/main/resources/rust/Cargo.mustache +++ b/modules/openapi-generator/src/main/resources/rust/Cargo.mustache @@ -66,19 +66,19 @@ secrecy = "0.8.0" {{/withAWSV4Signature}} {{#reqwest}} {{^supportAsync}} -reqwest = { version = "^0.12", default-features = false, features = ["json", "blocking", "multipart"] } +reqwest = { version = "^0.13", default-features = false, features = ["json", "blocking", "multipart", "query", "form"] } {{#supportMiddleware}} -reqwest-middleware = { version = "^0.4", features = ["json", "blocking", "multipart"] } +reqwest-middleware = { version = "^0.4", features = ["json", "multipart"] } {{/supportMiddleware}} {{/supportAsync}} {{#supportAsync}} {{#useAsyncFileStream}} tokio = { version = "^1.46.0", features = ["fs"] } tokio-util = { version = "^0.7", features = ["codec"] } -reqwest = { version = "^0.12", default-features = false, features = ["json", "multipart", "stream"] } +reqwest = { version = "^0.13", default-features = false, features = ["json", "multipart", "stream", "query", "form"] } {{/useAsyncFileStream}} {{^useAsyncFileStream}} -reqwest = { version = "^0.12", default-features = false, features = ["json", "multipart"] } +reqwest = { version = "^0.13", default-features = false, features = ["json", "multipart", "query", "form"] } {{/useAsyncFileStream}} {{#supportMiddleware}} reqwest-middleware = { version = "^0.4", features = ["json", "multipart"] } @@ -97,7 +97,7 @@ rustls-tls = ["reqwest/rustls-tls"] {{/reqwest}} {{#reqwestTrait}} async-trait = "^0.1" -reqwest = { version = "^0.12", default-features = false, features = ["json", "multipart", "stream"] } +reqwest = { version = "^0.13", default-features = false, features = ["json", "multipart", "stream", "query", "form"] } {{#supportMiddleware}} reqwest-middleware = { version = "^0.4", features = ["json", "multipart"] } {{/supportMiddleware}} From 3f4a95d8d8361d190b3e9231213a54d5fb8f2788 Mon Sep 17 00:00:00 2001 From: Emil Bonne Kristiansen Date: Mon, 12 Jan 2026 10:59:46 +0100 Subject: [PATCH 2/4] [Rust] Updated samples --- samples/client/others/rust/reqwest-regression-16119/Cargo.toml | 2 +- .../client/others/rust/reqwest/api-with-ref-param/Cargo.toml | 2 +- samples/client/others/rust/reqwest/composed-oneof/Cargo.toml | 2 +- samples/client/others/rust/reqwest/emptyObject/Cargo.toml | 2 +- samples/client/others/rust/reqwest/enum-query-params/Cargo.toml | 2 +- samples/client/others/rust/reqwest/oneOf-array-map/Cargo.toml | 2 +- samples/client/others/rust/reqwest/oneOf-reuseRef/Cargo.toml | 2 +- samples/client/others/rust/reqwest/oneOf/Cargo.toml | 2 +- samples/client/petstore/rust/reqwest-trait/petstore/Cargo.toml | 2 +- samples/client/petstore/rust/reqwest/name-mapping/Cargo.toml | 2 +- .../petstore/rust/reqwest/petstore-async-middleware/Cargo.toml | 2 +- .../petstore/rust/reqwest/petstore-async-tokensource/Cargo.toml | 2 +- samples/client/petstore/rust/reqwest/petstore-async/Cargo.toml | 2 +- .../client/petstore/rust/reqwest/petstore-avoid-box/Cargo.toml | 2 +- .../petstore/rust/reqwest/petstore-awsv4signature/Cargo.toml | 2 +- .../petstore/rust/reqwest/petstore-model-name-prefix/Cargo.toml | 2 +- .../rust/reqwest/petstore-serde-path-to-error/Cargo.toml | 2 +- samples/client/petstore/rust/reqwest/petstore/Cargo.toml | 2 +- samples/client/petstore/rust/reqwest/test-duplicates/Cargo.toml | 2 +- 19 files changed, 19 insertions(+), 19 deletions(-) diff --git a/samples/client/others/rust/reqwest-regression-16119/Cargo.toml b/samples/client/others/rust/reqwest-regression-16119/Cargo.toml index 36a3c0a431c7..c1a9c69a727a 100644 --- a/samples/client/others/rust/reqwest-regression-16119/Cargo.toml +++ b/samples/client/others/rust/reqwest-regression-16119/Cargo.toml @@ -12,7 +12,7 @@ serde = { version = "^1.0", features = ["derive"] } serde_json = "^1.0" serde_repr = "^0.1" url = "^2.5" -reqwest = { version = "^0.12", default-features = false, features = ["json", "blocking", "multipart"] } +reqwest = { version = "^0.13", default-features = false, features = ["json", "blocking", "multipart", "query", "form"] } [features] default = ["native-tls"] diff --git a/samples/client/others/rust/reqwest/api-with-ref-param/Cargo.toml b/samples/client/others/rust/reqwest/api-with-ref-param/Cargo.toml index 653e280f2d34..50c3665b4fcd 100644 --- a/samples/client/others/rust/reqwest/api-with-ref-param/Cargo.toml +++ b/samples/client/others/rust/reqwest/api-with-ref-param/Cargo.toml @@ -12,7 +12,7 @@ serde = { version = "^1.0", features = ["derive"] } serde_json = "^1.0" serde_repr = "^0.1" url = "^2.5" -reqwest = { version = "^0.12", default-features = false, features = ["json", "multipart"] } +reqwest = { version = "^0.13", default-features = false, features = ["json", "multipart", "query", "form"] } [features] default = ["native-tls"] diff --git a/samples/client/others/rust/reqwest/composed-oneof/Cargo.toml b/samples/client/others/rust/reqwest/composed-oneof/Cargo.toml index 83811f7efb77..f5d664b9bb90 100644 --- a/samples/client/others/rust/reqwest/composed-oneof/Cargo.toml +++ b/samples/client/others/rust/reqwest/composed-oneof/Cargo.toml @@ -12,7 +12,7 @@ serde = { version = "^1.0", features = ["derive"] } serde_json = "^1.0" serde_repr = "^0.1" url = "^2.5" -reqwest = { version = "^0.12", default-features = false, features = ["json", "blocking", "multipart"] } +reqwest = { version = "^0.13", default-features = false, features = ["json", "blocking", "multipart", "query", "form"] } [features] default = ["native-tls"] diff --git a/samples/client/others/rust/reqwest/emptyObject/Cargo.toml b/samples/client/others/rust/reqwest/emptyObject/Cargo.toml index e683742ec908..038a85fee1c8 100644 --- a/samples/client/others/rust/reqwest/emptyObject/Cargo.toml +++ b/samples/client/others/rust/reqwest/emptyObject/Cargo.toml @@ -12,7 +12,7 @@ serde = { version = "^1.0", features = ["derive"] } serde_json = "^1.0" serde_repr = "^0.1" url = "^2.5" -reqwest = { version = "^0.12", default-features = false, features = ["json", "blocking", "multipart"] } +reqwest = { version = "^0.13", default-features = false, features = ["json", "blocking", "multipart", "query", "form"] } [features] default = ["native-tls"] diff --git a/samples/client/others/rust/reqwest/enum-query-params/Cargo.toml b/samples/client/others/rust/reqwest/enum-query-params/Cargo.toml index 208987355122..6f07eb6d5c8d 100644 --- a/samples/client/others/rust/reqwest/enum-query-params/Cargo.toml +++ b/samples/client/others/rust/reqwest/enum-query-params/Cargo.toml @@ -12,7 +12,7 @@ serde = { version = "^1.0", features = ["derive"] } serde_json = "^1.0" serde_repr = "^0.1" url = "^2.5" -reqwest = { version = "^0.12", default-features = false, features = ["json", "multipart"] } +reqwest = { version = "^0.13", default-features = false, features = ["json", "multipart", "query", "form"] } [features] default = ["native-tls"] diff --git a/samples/client/others/rust/reqwest/oneOf-array-map/Cargo.toml b/samples/client/others/rust/reqwest/oneOf-array-map/Cargo.toml index fb682a1f07f2..d0b9f91577d5 100644 --- a/samples/client/others/rust/reqwest/oneOf-array-map/Cargo.toml +++ b/samples/client/others/rust/reqwest/oneOf-array-map/Cargo.toml @@ -12,7 +12,7 @@ serde = { version = "^1.0", features = ["derive"] } serde_json = "^1.0" serde_repr = "^0.1" url = "^2.5" -reqwest = { version = "^0.12", default-features = false, features = ["json", "blocking", "multipart"] } +reqwest = { version = "^0.13", default-features = false, features = ["json", "blocking", "multipart", "query", "form"] } [features] default = ["native-tls"] diff --git a/samples/client/others/rust/reqwest/oneOf-reuseRef/Cargo.toml b/samples/client/others/rust/reqwest/oneOf-reuseRef/Cargo.toml index 838395ce1b24..98b0e1925097 100644 --- a/samples/client/others/rust/reqwest/oneOf-reuseRef/Cargo.toml +++ b/samples/client/others/rust/reqwest/oneOf-reuseRef/Cargo.toml @@ -11,7 +11,7 @@ serde = { version = "^1.0", features = ["derive"] } serde_json = "^1.0" serde_repr = "^0.1" url = "^2.5" -reqwest = { version = "^0.12", default-features = false, features = ["json", "blocking", "multipart"] } +reqwest = { version = "^0.13", default-features = false, features = ["json", "blocking", "multipart", "query", "form"] } [features] default = ["native-tls"] diff --git a/samples/client/others/rust/reqwest/oneOf/Cargo.toml b/samples/client/others/rust/reqwest/oneOf/Cargo.toml index fc08d8321b3b..f37b2c3df3bb 100644 --- a/samples/client/others/rust/reqwest/oneOf/Cargo.toml +++ b/samples/client/others/rust/reqwest/oneOf/Cargo.toml @@ -12,7 +12,7 @@ serde = { version = "^1.0", features = ["derive"] } serde_json = "^1.0" serde_repr = "^0.1" url = "^2.5" -reqwest = { version = "^0.12", default-features = false, features = ["json", "blocking", "multipart"] } +reqwest = { version = "^0.13", default-features = false, features = ["json", "blocking", "multipart", "query", "form"] } [features] default = ["native-tls"] diff --git a/samples/client/petstore/rust/reqwest-trait/petstore/Cargo.toml b/samples/client/petstore/rust/reqwest-trait/petstore/Cargo.toml index ce1ec4c1f002..1c7b1d7044e5 100644 --- a/samples/client/petstore/rust/reqwest-trait/petstore/Cargo.toml +++ b/samples/client/petstore/rust/reqwest-trait/petstore/Cargo.toml @@ -14,7 +14,7 @@ serde_repr = "^0.1" url = "^2.5" uuid = { version = "^1.8", features = ["serde", "v4"] } async-trait = "^0.1" -reqwest = { version = "^0.12", default-features = false, features = ["json", "multipart", "stream"] } +reqwest = { version = "^0.13", default-features = false, features = ["json", "multipart", "stream", "query", "form"] } mockall = { version = "^0.13", optional = true} [features] default = ["native-tls"] diff --git a/samples/client/petstore/rust/reqwest/name-mapping/Cargo.toml b/samples/client/petstore/rust/reqwest/name-mapping/Cargo.toml index 8451184f7495..1e343fb151b3 100644 --- a/samples/client/petstore/rust/reqwest/name-mapping/Cargo.toml +++ b/samples/client/petstore/rust/reqwest/name-mapping/Cargo.toml @@ -11,7 +11,7 @@ serde = { version = "^1.0", features = ["derive"] } serde_json = "^1.0" serde_repr = "^0.1" url = "^2.5" -reqwest = { version = "^0.12", default-features = false, features = ["json", "blocking", "multipart"] } +reqwest = { version = "^0.13", default-features = false, features = ["json", "blocking", "multipart", "query", "form"] } [features] default = ["native-tls"] diff --git a/samples/client/petstore/rust/reqwest/petstore-async-middleware/Cargo.toml b/samples/client/petstore/rust/reqwest/petstore-async-middleware/Cargo.toml index 9becf795bdbf..b693bc115422 100644 --- a/samples/client/petstore/rust/reqwest/petstore-async-middleware/Cargo.toml +++ b/samples/client/petstore/rust/reqwest/petstore-async-middleware/Cargo.toml @@ -15,7 +15,7 @@ url = "^2.5" uuid = { version = "^1.8", features = ["serde", "v4"] } tokio = { version = "^1.46.0", features = ["fs"] } tokio-util = { version = "^0.7", features = ["codec"] } -reqwest = { version = "^0.12", default-features = false, features = ["json", "multipart", "stream"] } +reqwest = { version = "^0.13", default-features = false, features = ["json", "multipart", "stream", "query", "form"] } reqwest-middleware = { version = "^0.4", features = ["json", "multipart"] } [features] diff --git a/samples/client/petstore/rust/reqwest/petstore-async-tokensource/Cargo.toml b/samples/client/petstore/rust/reqwest/petstore-async-tokensource/Cargo.toml index ee6b233ed2d5..512c28d332cb 100644 --- a/samples/client/petstore/rust/reqwest/petstore-async-tokensource/Cargo.toml +++ b/samples/client/petstore/rust/reqwest/petstore-async-tokensource/Cargo.toml @@ -15,7 +15,7 @@ url = "^2.5" uuid = { version = "^1.8", features = ["serde", "v4"] } tokio = { version = "^1.46.0", features = ["fs"] } tokio-util = { version = "^0.7", features = ["codec"] } -reqwest = { version = "^0.12", default-features = false, features = ["json", "multipart", "stream"] } +reqwest = { version = "^0.13", default-features = false, features = ["json", "multipart", "stream", "query", "form"] } async-trait = "^0.1" # TODO: propose to Yoshidan to externalize this as non google related crate, so that it can easily be extended for other cloud providers. google-cloud-token = "^0.1" diff --git a/samples/client/petstore/rust/reqwest/petstore-async/Cargo.toml b/samples/client/petstore/rust/reqwest/petstore-async/Cargo.toml index 63b4eb8acfd8..c6878ae91f23 100644 --- a/samples/client/petstore/rust/reqwest/petstore-async/Cargo.toml +++ b/samples/client/petstore/rust/reqwest/petstore-async/Cargo.toml @@ -15,7 +15,7 @@ url = "^2.5" uuid = { version = "^1.8", features = ["serde", "v4"] } tokio = { version = "^1.46.0", features = ["fs"] } tokio-util = { version = "^0.7", features = ["codec"] } -reqwest = { version = "^0.12", default-features = false, features = ["json", "multipart", "stream"] } +reqwest = { version = "^0.13", default-features = false, features = ["json", "multipart", "stream", "query", "form"] } [features] default = ["native-tls"] diff --git a/samples/client/petstore/rust/reqwest/petstore-avoid-box/Cargo.toml b/samples/client/petstore/rust/reqwest/petstore-avoid-box/Cargo.toml index b1a31cbb3202..1120b5dc4895 100644 --- a/samples/client/petstore/rust/reqwest/petstore-avoid-box/Cargo.toml +++ b/samples/client/petstore/rust/reqwest/petstore-avoid-box/Cargo.toml @@ -15,7 +15,7 @@ url = "^2.5" uuid = { version = "^1.8", features = ["serde", "v4"] } tokio = { version = "^1.46.0", features = ["fs"] } tokio-util = { version = "^0.7", features = ["codec"] } -reqwest = { version = "^0.12", default-features = false, features = ["json", "multipart", "stream"] } +reqwest = { version = "^0.13", default-features = false, features = ["json", "multipart", "stream", "query", "form"] } [features] default = ["native-tls"] diff --git a/samples/client/petstore/rust/reqwest/petstore-awsv4signature/Cargo.toml b/samples/client/petstore/rust/reqwest/petstore-awsv4signature/Cargo.toml index 048bdddf20f7..33b7a335fd49 100644 --- a/samples/client/petstore/rust/reqwest/petstore-awsv4signature/Cargo.toml +++ b/samples/client/petstore/rust/reqwest/petstore-awsv4signature/Cargo.toml @@ -16,7 +16,7 @@ uuid = { version = "^1.8", features = ["serde", "v4"] } aws-sigv4 = "0.3.0" http = "0.2.5" secrecy = "0.8.0" -reqwest = { version = "^0.12", default-features = false, features = ["json", "blocking", "multipart"] } +reqwest = { version = "^0.13", default-features = false, features = ["json", "blocking", "multipart", "query", "form"] } [features] default = ["native-tls"] diff --git a/samples/client/petstore/rust/reqwest/petstore-model-name-prefix/Cargo.toml b/samples/client/petstore/rust/reqwest/petstore-model-name-prefix/Cargo.toml index 87da9d394194..04d65b5c2849 100644 --- a/samples/client/petstore/rust/reqwest/petstore-model-name-prefix/Cargo.toml +++ b/samples/client/petstore/rust/reqwest/petstore-model-name-prefix/Cargo.toml @@ -13,7 +13,7 @@ serde_json = "^1.0" serde_repr = "^0.1" url = "^2.5" uuid = { version = "^1.8", features = ["serde", "v4"] } -reqwest = { version = "^0.12", default-features = false, features = ["json", "blocking", "multipart"] } +reqwest = { version = "^0.13", default-features = false, features = ["json", "blocking", "multipart", "query", "form"] } [features] default = ["native-tls"] diff --git a/samples/client/petstore/rust/reqwest/petstore-serde-path-to-error/Cargo.toml b/samples/client/petstore/rust/reqwest/petstore-serde-path-to-error/Cargo.toml index d9a47c26ea2e..4084103ce436 100644 --- a/samples/client/petstore/rust/reqwest/petstore-serde-path-to-error/Cargo.toml +++ b/samples/client/petstore/rust/reqwest/petstore-serde-path-to-error/Cargo.toml @@ -16,7 +16,7 @@ url = "^2.5" uuid = { version = "^1.8", features = ["serde", "v4"] } tokio = { version = "^1.46.0", features = ["fs"] } tokio-util = { version = "^0.7", features = ["codec"] } -reqwest = { version = "^0.12", default-features = false, features = ["json", "multipart", "stream"] } +reqwest = { version = "^0.13", default-features = false, features = ["json", "multipart", "stream", "query", "form"] } [features] default = ["native-tls"] diff --git a/samples/client/petstore/rust/reqwest/petstore/Cargo.toml b/samples/client/petstore/rust/reqwest/petstore/Cargo.toml index 004697204fc2..64dedd070083 100644 --- a/samples/client/petstore/rust/reqwest/petstore/Cargo.toml +++ b/samples/client/petstore/rust/reqwest/petstore/Cargo.toml @@ -13,7 +13,7 @@ serde_json = "^1.0" serde_repr = "^0.1" url = "^2.5" uuid = { version = "^1.8", features = ["serde", "v4"] } -reqwest = { version = "^0.12", default-features = false, features = ["json", "blocking", "multipart"] } +reqwest = { version = "^0.13", default-features = false, features = ["json", "blocking", "multipart", "query", "form"] } [features] default = ["native-tls"] diff --git a/samples/client/petstore/rust/reqwest/test-duplicates/Cargo.toml b/samples/client/petstore/rust/reqwest/test-duplicates/Cargo.toml index 758ea1c37ee9..71ce881268d0 100644 --- a/samples/client/petstore/rust/reqwest/test-duplicates/Cargo.toml +++ b/samples/client/petstore/rust/reqwest/test-duplicates/Cargo.toml @@ -11,7 +11,7 @@ serde = { version = "^1.0", features = ["derive"] } serde_json = "^1.0" serde_repr = "^0.1" url = "^2.5" -reqwest = { version = "^0.12", default-features = false, features = ["json", "blocking", "multipart"] } +reqwest = { version = "^0.13", default-features = false, features = ["json", "blocking", "multipart", "query", "form"] } [features] default = ["native-tls"] From 4ca334e816b3389aa5c709c29e9a7129e1a8a993 Mon Sep 17 00:00:00 2001 From: Emil Bonne Kristiansen Date: Tue, 13 Jan 2026 17:03:16 +0100 Subject: [PATCH 3/4] [Rust] Rename rustls-tls feature to rustls to match reqwest 0.13 In reqwest 0.13, the rustls-tls feature was renamed to rustls. This updates the Cargo.mustache template and all generated samples to use the new feature name, fixing CI build failures when using --all-features flag. --- .../openapi-generator/src/main/resources/rust/Cargo.mustache | 4 ++-- .../client/others/rust/reqwest-regression-16119/Cargo.toml | 2 +- .../client/others/rust/reqwest/api-with-ref-param/Cargo.toml | 2 +- samples/client/others/rust/reqwest/composed-oneof/Cargo.toml | 2 +- samples/client/others/rust/reqwest/emptyObject/Cargo.toml | 2 +- .../client/others/rust/reqwest/enum-query-params/Cargo.toml | 2 +- samples/client/others/rust/reqwest/oneOf-array-map/Cargo.toml | 2 +- samples/client/others/rust/reqwest/oneOf-reuseRef/Cargo.toml | 2 +- samples/client/others/rust/reqwest/oneOf/Cargo.toml | 2 +- .../client/petstore/rust/reqwest-trait/petstore/Cargo.toml | 2 +- samples/client/petstore/rust/reqwest/name-mapping/Cargo.toml | 2 +- .../rust/reqwest/petstore-async-middleware/Cargo.toml | 2 +- .../rust/reqwest/petstore-async-tokensource/Cargo.toml | 2 +- .../client/petstore/rust/reqwest/petstore-async/Cargo.toml | 2 +- .../petstore/rust/reqwest/petstore-avoid-box/Cargo.toml | 2 +- .../petstore/rust/reqwest/petstore-awsv4signature/Cargo.toml | 2 +- .../rust/reqwest/petstore-model-name-prefix/Cargo.toml | 2 +- .../rust/reqwest/petstore-serde-path-to-error/Cargo.toml | 2 +- samples/client/petstore/rust/reqwest/petstore/Cargo.toml | 2 +- .../client/petstore/rust/reqwest/test-duplicates/Cargo.toml | 2 +- 20 files changed, 21 insertions(+), 21 deletions(-) diff --git a/modules/openapi-generator/src/main/resources/rust/Cargo.mustache b/modules/openapi-generator/src/main/resources/rust/Cargo.mustache index 400535bdba19..eb48719e673f 100644 --- a/modules/openapi-generator/src/main/resources/rust/Cargo.mustache +++ b/modules/openapi-generator/src/main/resources/rust/Cargo.mustache @@ -93,7 +93,7 @@ google-cloud-token = "^0.1" [features] default = [{{#reqwestDefaultFeatures}}"{{.}}"{{^-last}}, {{/-last}}{{/reqwestDefaultFeatures}}] native-tls = ["reqwest/native-tls"] -rustls-tls = ["reqwest/rustls-tls"] +rustls = ["reqwest/rustls"] {{/reqwest}} {{#reqwestTrait}} async-trait = "^0.1" @@ -114,7 +114,7 @@ bon = { version = "2.3", optional = true } [features] default = [{{#reqwestDefaultFeatures}}"{{.}}"{{^-last}}, {{/-last}}{{/reqwestDefaultFeatures}}] native-tls = ["reqwest/native-tls"] -rustls-tls = ["reqwest/rustls-tls"] +rustls = ["reqwest/rustls"] {{#mockall}} mockall = ["dep:mockall"] {{/mockall}} diff --git a/samples/client/others/rust/reqwest-regression-16119/Cargo.toml b/samples/client/others/rust/reqwest-regression-16119/Cargo.toml index c1a9c69a727a..1cf190a4b585 100644 --- a/samples/client/others/rust/reqwest-regression-16119/Cargo.toml +++ b/samples/client/others/rust/reqwest-regression-16119/Cargo.toml @@ -17,4 +17,4 @@ reqwest = { version = "^0.13", default-features = false, features = ["json", "bl [features] default = ["native-tls"] native-tls = ["reqwest/native-tls"] -rustls-tls = ["reqwest/rustls-tls"] +rustls = ["reqwest/rustls"] diff --git a/samples/client/others/rust/reqwest/api-with-ref-param/Cargo.toml b/samples/client/others/rust/reqwest/api-with-ref-param/Cargo.toml index 50c3665b4fcd..b56d45044262 100644 --- a/samples/client/others/rust/reqwest/api-with-ref-param/Cargo.toml +++ b/samples/client/others/rust/reqwest/api-with-ref-param/Cargo.toml @@ -17,4 +17,4 @@ reqwest = { version = "^0.13", default-features = false, features = ["json", "mu [features] default = ["native-tls"] native-tls = ["reqwest/native-tls"] -rustls-tls = ["reqwest/rustls-tls"] +rustls = ["reqwest/rustls"] diff --git a/samples/client/others/rust/reqwest/composed-oneof/Cargo.toml b/samples/client/others/rust/reqwest/composed-oneof/Cargo.toml index f5d664b9bb90..5f0ab68ddb74 100644 --- a/samples/client/others/rust/reqwest/composed-oneof/Cargo.toml +++ b/samples/client/others/rust/reqwest/composed-oneof/Cargo.toml @@ -17,4 +17,4 @@ reqwest = { version = "^0.13", default-features = false, features = ["json", "bl [features] default = ["native-tls"] native-tls = ["reqwest/native-tls"] -rustls-tls = ["reqwest/rustls-tls"] +rustls = ["reqwest/rustls"] diff --git a/samples/client/others/rust/reqwest/emptyObject/Cargo.toml b/samples/client/others/rust/reqwest/emptyObject/Cargo.toml index 038a85fee1c8..ce06aa391784 100644 --- a/samples/client/others/rust/reqwest/emptyObject/Cargo.toml +++ b/samples/client/others/rust/reqwest/emptyObject/Cargo.toml @@ -17,4 +17,4 @@ reqwest = { version = "^0.13", default-features = false, features = ["json", "bl [features] default = ["native-tls"] native-tls = ["reqwest/native-tls"] -rustls-tls = ["reqwest/rustls-tls"] +rustls = ["reqwest/rustls"] diff --git a/samples/client/others/rust/reqwest/enum-query-params/Cargo.toml b/samples/client/others/rust/reqwest/enum-query-params/Cargo.toml index 6f07eb6d5c8d..4015f0ccdc81 100644 --- a/samples/client/others/rust/reqwest/enum-query-params/Cargo.toml +++ b/samples/client/others/rust/reqwest/enum-query-params/Cargo.toml @@ -17,4 +17,4 @@ reqwest = { version = "^0.13", default-features = false, features = ["json", "mu [features] default = ["native-tls"] native-tls = ["reqwest/native-tls"] -rustls-tls = ["reqwest/rustls-tls"] +rustls = ["reqwest/rustls"] diff --git a/samples/client/others/rust/reqwest/oneOf-array-map/Cargo.toml b/samples/client/others/rust/reqwest/oneOf-array-map/Cargo.toml index d0b9f91577d5..971d4b00f14e 100644 --- a/samples/client/others/rust/reqwest/oneOf-array-map/Cargo.toml +++ b/samples/client/others/rust/reqwest/oneOf-array-map/Cargo.toml @@ -17,4 +17,4 @@ reqwest = { version = "^0.13", default-features = false, features = ["json", "bl [features] default = ["native-tls"] native-tls = ["reqwest/native-tls"] -rustls-tls = ["reqwest/rustls-tls"] +rustls = ["reqwest/rustls"] diff --git a/samples/client/others/rust/reqwest/oneOf-reuseRef/Cargo.toml b/samples/client/others/rust/reqwest/oneOf-reuseRef/Cargo.toml index 98b0e1925097..3d23b195443e 100644 --- a/samples/client/others/rust/reqwest/oneOf-reuseRef/Cargo.toml +++ b/samples/client/others/rust/reqwest/oneOf-reuseRef/Cargo.toml @@ -16,4 +16,4 @@ reqwest = { version = "^0.13", default-features = false, features = ["json", "bl [features] default = ["native-tls"] native-tls = ["reqwest/native-tls"] -rustls-tls = ["reqwest/rustls-tls"] +rustls = ["reqwest/rustls"] diff --git a/samples/client/others/rust/reqwest/oneOf/Cargo.toml b/samples/client/others/rust/reqwest/oneOf/Cargo.toml index f37b2c3df3bb..011f2b721b5f 100644 --- a/samples/client/others/rust/reqwest/oneOf/Cargo.toml +++ b/samples/client/others/rust/reqwest/oneOf/Cargo.toml @@ -17,4 +17,4 @@ reqwest = { version = "^0.13", default-features = false, features = ["json", "bl [features] default = ["native-tls"] native-tls = ["reqwest/native-tls"] -rustls-tls = ["reqwest/rustls-tls"] +rustls = ["reqwest/rustls"] diff --git a/samples/client/petstore/rust/reqwest-trait/petstore/Cargo.toml b/samples/client/petstore/rust/reqwest-trait/petstore/Cargo.toml index 1c7b1d7044e5..247dd258ab92 100644 --- a/samples/client/petstore/rust/reqwest-trait/petstore/Cargo.toml +++ b/samples/client/petstore/rust/reqwest-trait/petstore/Cargo.toml @@ -19,5 +19,5 @@ mockall = { version = "^0.13", optional = true} [features] default = ["native-tls"] native-tls = ["reqwest/native-tls"] -rustls-tls = ["reqwest/rustls-tls"] +rustls = ["reqwest/rustls"] mockall = ["dep:mockall"] diff --git a/samples/client/petstore/rust/reqwest/name-mapping/Cargo.toml b/samples/client/petstore/rust/reqwest/name-mapping/Cargo.toml index 1e343fb151b3..2c14c58a1fe6 100644 --- a/samples/client/petstore/rust/reqwest/name-mapping/Cargo.toml +++ b/samples/client/petstore/rust/reqwest/name-mapping/Cargo.toml @@ -16,4 +16,4 @@ reqwest = { version = "^0.13", default-features = false, features = ["json", "bl [features] default = ["native-tls"] native-tls = ["reqwest/native-tls"] -rustls-tls = ["reqwest/rustls-tls"] +rustls = ["reqwest/rustls"] diff --git a/samples/client/petstore/rust/reqwest/petstore-async-middleware/Cargo.toml b/samples/client/petstore/rust/reqwest/petstore-async-middleware/Cargo.toml index b693bc115422..f944f60c2fd3 100644 --- a/samples/client/petstore/rust/reqwest/petstore-async-middleware/Cargo.toml +++ b/samples/client/petstore/rust/reqwest/petstore-async-middleware/Cargo.toml @@ -21,4 +21,4 @@ reqwest-middleware = { version = "^0.4", features = ["json", "multipart"] } [features] default = ["native-tls"] native-tls = ["reqwest/native-tls"] -rustls-tls = ["reqwest/rustls-tls"] +rustls = ["reqwest/rustls"] diff --git a/samples/client/petstore/rust/reqwest/petstore-async-tokensource/Cargo.toml b/samples/client/petstore/rust/reqwest/petstore-async-tokensource/Cargo.toml index 512c28d332cb..8c048ea5011b 100644 --- a/samples/client/petstore/rust/reqwest/petstore-async-tokensource/Cargo.toml +++ b/samples/client/petstore/rust/reqwest/petstore-async-tokensource/Cargo.toml @@ -23,4 +23,4 @@ google-cloud-token = "^0.1" [features] default = ["native-tls"] native-tls = ["reqwest/native-tls"] -rustls-tls = ["reqwest/rustls-tls"] +rustls = ["reqwest/rustls"] diff --git a/samples/client/petstore/rust/reqwest/petstore-async/Cargo.toml b/samples/client/petstore/rust/reqwest/petstore-async/Cargo.toml index c6878ae91f23..c21154c053a1 100644 --- a/samples/client/petstore/rust/reqwest/petstore-async/Cargo.toml +++ b/samples/client/petstore/rust/reqwest/petstore-async/Cargo.toml @@ -20,4 +20,4 @@ reqwest = { version = "^0.13", default-features = false, features = ["json", "mu [features] default = ["native-tls"] native-tls = ["reqwest/native-tls"] -rustls-tls = ["reqwest/rustls-tls"] +rustls = ["reqwest/rustls"] diff --git a/samples/client/petstore/rust/reqwest/petstore-avoid-box/Cargo.toml b/samples/client/petstore/rust/reqwest/petstore-avoid-box/Cargo.toml index 1120b5dc4895..07d1d1b5e45f 100644 --- a/samples/client/petstore/rust/reqwest/petstore-avoid-box/Cargo.toml +++ b/samples/client/petstore/rust/reqwest/petstore-avoid-box/Cargo.toml @@ -20,4 +20,4 @@ reqwest = { version = "^0.13", default-features = false, features = ["json", "mu [features] default = ["native-tls"] native-tls = ["reqwest/native-tls"] -rustls-tls = ["reqwest/rustls-tls"] +rustls = ["reqwest/rustls"] diff --git a/samples/client/petstore/rust/reqwest/petstore-awsv4signature/Cargo.toml b/samples/client/petstore/rust/reqwest/petstore-awsv4signature/Cargo.toml index 33b7a335fd49..e7abf677ae26 100644 --- a/samples/client/petstore/rust/reqwest/petstore-awsv4signature/Cargo.toml +++ b/samples/client/petstore/rust/reqwest/petstore-awsv4signature/Cargo.toml @@ -21,4 +21,4 @@ reqwest = { version = "^0.13", default-features = false, features = ["json", "bl [features] default = ["native-tls"] native-tls = ["reqwest/native-tls"] -rustls-tls = ["reqwest/rustls-tls"] +rustls = ["reqwest/rustls"] diff --git a/samples/client/petstore/rust/reqwest/petstore-model-name-prefix/Cargo.toml b/samples/client/petstore/rust/reqwest/petstore-model-name-prefix/Cargo.toml index 04d65b5c2849..f169c7176d0c 100644 --- a/samples/client/petstore/rust/reqwest/petstore-model-name-prefix/Cargo.toml +++ b/samples/client/petstore/rust/reqwest/petstore-model-name-prefix/Cargo.toml @@ -18,4 +18,4 @@ reqwest = { version = "^0.13", default-features = false, features = ["json", "bl [features] default = ["native-tls"] native-tls = ["reqwest/native-tls"] -rustls-tls = ["reqwest/rustls-tls"] +rustls = ["reqwest/rustls"] diff --git a/samples/client/petstore/rust/reqwest/petstore-serde-path-to-error/Cargo.toml b/samples/client/petstore/rust/reqwest/petstore-serde-path-to-error/Cargo.toml index 4084103ce436..0fe629323f08 100644 --- a/samples/client/petstore/rust/reqwest/petstore-serde-path-to-error/Cargo.toml +++ b/samples/client/petstore/rust/reqwest/petstore-serde-path-to-error/Cargo.toml @@ -21,4 +21,4 @@ reqwest = { version = "^0.13", default-features = false, features = ["json", "mu [features] default = ["native-tls"] native-tls = ["reqwest/native-tls"] -rustls-tls = ["reqwest/rustls-tls"] +rustls = ["reqwest/rustls"] diff --git a/samples/client/petstore/rust/reqwest/petstore/Cargo.toml b/samples/client/petstore/rust/reqwest/petstore/Cargo.toml index 64dedd070083..a81854708c1f 100644 --- a/samples/client/petstore/rust/reqwest/petstore/Cargo.toml +++ b/samples/client/petstore/rust/reqwest/petstore/Cargo.toml @@ -18,4 +18,4 @@ reqwest = { version = "^0.13", default-features = false, features = ["json", "bl [features] default = ["native-tls"] native-tls = ["reqwest/native-tls"] -rustls-tls = ["reqwest/rustls-tls"] +rustls = ["reqwest/rustls"] diff --git a/samples/client/petstore/rust/reqwest/test-duplicates/Cargo.toml b/samples/client/petstore/rust/reqwest/test-duplicates/Cargo.toml index 71ce881268d0..b6a0d3d9176c 100644 --- a/samples/client/petstore/rust/reqwest/test-duplicates/Cargo.toml +++ b/samples/client/petstore/rust/reqwest/test-duplicates/Cargo.toml @@ -16,4 +16,4 @@ reqwest = { version = "^0.13", default-features = false, features = ["json", "bl [features] default = ["native-tls"] native-tls = ["reqwest/native-tls"] -rustls-tls = ["reqwest/rustls-tls"] +rustls = ["reqwest/rustls"] From d8dcf5f86a3161f3b6d14788bf5c0524d5c652c9 Mon Sep 17 00:00:00 2001 From: Emil Bonne Kristiansen Date: Tue, 13 Jan 2026 17:35:51 +0100 Subject: [PATCH 4/4] [Rust] Upgrade reqwest-middleware to 0.5 for reqwest 0.13 compatibility The previous reqwest-middleware 0.4 depends on reqwest 0.12, which caused type conflicts when upgrading to reqwest 0.13: - reqwest::Error (from reqwest 0.13) - reqwest_middleware::reqwest::Error (from reqwest 0.12 via middleware) These are different types from different versions of reqwest. reqwest-middleware 0.5 is compatible with reqwest 0.13, resolving the version conflict. With both using the same reqwest version, the re-exported types are now correctly aligned. --- .../src/main/resources/rust/Cargo.mustache | 6 +++--- .../rust/reqwest/petstore-async-middleware/Cargo.toml | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/modules/openapi-generator/src/main/resources/rust/Cargo.mustache b/modules/openapi-generator/src/main/resources/rust/Cargo.mustache index eb48719e673f..90e095b71e9c 100644 --- a/modules/openapi-generator/src/main/resources/rust/Cargo.mustache +++ b/modules/openapi-generator/src/main/resources/rust/Cargo.mustache @@ -68,7 +68,7 @@ secrecy = "0.8.0" {{^supportAsync}} reqwest = { version = "^0.13", default-features = false, features = ["json", "blocking", "multipart", "query", "form"] } {{#supportMiddleware}} -reqwest-middleware = { version = "^0.4", features = ["json", "multipart"] } +reqwest-middleware = { version = "^0.5", features = ["json", "multipart"] } {{/supportMiddleware}} {{/supportAsync}} {{#supportAsync}} @@ -81,7 +81,7 @@ reqwest = { version = "^0.13", default-features = false, features = ["json", "mu reqwest = { version = "^0.13", default-features = false, features = ["json", "multipart", "query", "form"] } {{/useAsyncFileStream}} {{#supportMiddleware}} -reqwest-middleware = { version = "^0.4", features = ["json", "multipart"] } +reqwest-middleware = { version = "^0.5", features = ["json", "multipart"] } {{/supportMiddleware}} {{#supportTokenSource}} async-trait = "^0.1" @@ -99,7 +99,7 @@ rustls = ["reqwest/rustls"] async-trait = "^0.1" reqwest = { version = "^0.13", default-features = false, features = ["json", "multipart", "stream", "query", "form"] } {{#supportMiddleware}} -reqwest-middleware = { version = "^0.4", features = ["json", "multipart"] } +reqwest-middleware = { version = "^0.5", features = ["json", "multipart"] } {{/supportMiddleware}} {{#supportTokenSource}} # TODO: propose to Yoshidan to externalize this as non google related crate, so that it can easily be extended for other cloud providers. diff --git a/samples/client/petstore/rust/reqwest/petstore-async-middleware/Cargo.toml b/samples/client/petstore/rust/reqwest/petstore-async-middleware/Cargo.toml index f944f60c2fd3..f26c70715d85 100644 --- a/samples/client/petstore/rust/reqwest/petstore-async-middleware/Cargo.toml +++ b/samples/client/petstore/rust/reqwest/petstore-async-middleware/Cargo.toml @@ -16,7 +16,7 @@ uuid = { version = "^1.8", features = ["serde", "v4"] } tokio = { version = "^1.46.0", features = ["fs"] } tokio-util = { version = "^0.7", features = ["codec"] } reqwest = { version = "^0.13", default-features = false, features = ["json", "multipart", "stream", "query", "form"] } -reqwest-middleware = { version = "^0.4", features = ["json", "multipart"] } +reqwest-middleware = { version = "^0.5", features = ["json", "multipart"] } [features] default = ["native-tls"]