fix(deps): update rust crate reqwest to 0.13 (master) #14

Open
renovate-bot wants to merge 1 commit from renovate/master-reqwest-0.x into master
Collaborator

This PR contains the following updates:

Package Type Update Change
reqwest dependencies minor 0.12 → 0.13

Release Notes

seanmonstar/reqwest (reqwest)

v0.13.5

Compare Source

  • Add Error::is_dns() to identify errors caused by DNS resolution failures.
  • Add ClientBuilder::http1_max_headers(usize) to configure the maximum number of headers accepted in an HTTP/1 response (default 100).
  • Add TLS version to TlsInfo extension.
  • Fix hickory-dns feature to use Ipv6AndIpv4 strategy to prefer IPv6.
  • Fix sending wrong proxy-auth if multiple proxies intercept a given URL.

v0.13.4

Compare Source

  • Add ClientBuilder::tls_sslkeylogfile(bool) option to allow using the related environment variable.
  • Add ClientBuilder::http2_keep_alive_* options for the blocking client.
  • Add TLS 1.3 support when using native-tls backend.
  • Fix redirect handling to strip sensitive headers when the scheme changes.
  • Fix HTTP/3 happy-eyeball connection creation.
  • Upgrade hickory-resolver to 0.26.

v0.13.3

Compare Source

  • Fix CertificateRevocationList parsing of PEM values.
  • Fix logging in resolver to only show host, not full URL.
  • Fix hickory-dns to fallback to a default if /etc/resolv.conf fails.
  • Fix HTTP/3 to handle STOP_SENDING as not an error.
  • Fix HTTP/3 pool to remove timed out QUIC connections.
  • Fix HTTP/3 connection establishment picking IPv4 and IPv6.
  • Upgrade rustls-platform-verifier.
  • (wasm) Only use wasm-bindgen on unknown-* targets.

v0.13.2

Compare Source

  • Fix HTTP/2 and native-tls ALPN feature combinations.
  • Fix HTTP/3 to send h3 ALPN.
  • (wasm) fix RequestBuilder::json() from override previously set content-type.

v0.13.1

Compare Source

  • Fixes compiling with rustls on Android targets.

v0.13.0

Compare Source

  • Breaking changes:
    • rustls is now the default TLS backend, instead of native-tls.
    • rustls crypto provider defaults to aws-lc instead of ring. (rustls-no-provider exists if you want a different crypto provider)
    • rustls-tls has been renamed to rustls.
    • rustls roots features removed, rustls-platform-verifier is used by default.
      • To use different roots, call tls_certs_only(your_roots).
    • native-tls now includes ALPN. To disable, use native-tls-no-alpn.
    • query and form are now crate features, disabled by default.
    • Long-deprecated methods and crate features have been removed (such as trust-dns, which was renamed hickory-dns a while ago).
  • Many TLS-related methods renamed to improve autocompletion and discovery, but previous name left in place with a "soft" deprecation. (just documented, no warnings)
    • For example, prefer tls_backend_rustls() over use_rustls_tls().

v0.12.28

  • Fix compiling on Windows if TLS and SOCKS features are not enabled.

v0.12.27

  • Add ClientBuilder::windows_named_pipe(name) option that will force all requests over that Windows Named Piper.

v0.12.26

  • Fix sending Accept-Encoding header only with values configured with reqwest, regardless of underlying tower-http config.

v0.12.25

  • Add Error::is_upgrade() to determine if the error was from an HTTP upgrade.
  • Fix sending Proxy-Authorization if only username is configured.
  • Fix sending Proxy-Authorization to HTTPS proxies when the target is HTTP.
  • Refactor internal decompression handling to use tower-http.

v0.12.24

  • Refactor cookie handling to an internal middleware.
  • Refactor internal random generator.
  • Refactor base64 encoding to reduce a copy.
  • Documentation updates.

v0.12.23

  • Add ClientBuilder::unix_socket(path) option that will force all requests over that Unix Domain Socket.
  • Add ClientBuilder::retry(policy) and reqwest::retry::Builder to configure automatic retries.
  • Add ClientBuilder::dns_resolver2() with more ergonomic argument bounds, allowing more resolver implementations.
  • Add http3_* options to blocking::ClientBuilder.
  • Fix default TCP timeout values to enabled and faster.
  • Fix SOCKS proxies to default to port 1080
  • (wasm) Add cache methods to RequestBuilder.

v0.12.22

  • Fix socks proxies when resolving IPv6 destinations.

v0.12.21

  • Fix socks proxy to use socks4a:// instead of socks4h://.
  • Fix Error::is_timeout() to check for hyper and IO timeouts too.
  • Fix request Error to again include URLs when possible.
  • Fix socks connect error to include more context.
  • (wasm) implement Default for Body.

v0.12.20

  • Add ClientBuilder::tcp_user_timeout(Duration) option to set TCP_USER_TIMEOUT.
  • Fix proxy headers only using the first matched proxy.
  • (wasm) Fix re-adding Error::is_status().

v0.12.19

  • Fix redirect that changes the method to GET should remove payload headers.
  • Fix redirect to only check the next scheme if the policy action is to follow.
  • (wasm) Fix compilation error if cookies feature is enabled (by the way, it's a noop feature in wasm).

v0.12.18

  • Fix compilation when socks enabled without TLS.

v0.12.17

  • Fix compilation on macOS.

v0.12.16

  • Add ClientBuilder::http3_congestion_bbr() to enable BBR congestion control.
  • Add ClientBuilder::http3_send_grease() to configure whether to send use QUIC grease.
  • Add ClientBuilder::http3_max_field_section_size() to configure the maximum response headers.
  • Add ClientBuilder::tcp_keepalive_interval() to configure TCP probe interval.
  • Add ClientBuilder::tcp_keepalive_retries() to configure TCP probe count.
  • Add Proxy::headers() to add extra headers that should be sent to a proxy.
  • Fix redirect::Policy::limit() which had an off-by-1 error, allowing 1 more redirect than specified.
  • Fix HTTP/3 to support streaming request bodies.
  • (wasm) Fix null bodies when calling Response::bytes_stream().

v0.12.15

  • Fix Windows to support both ProxyOverride and NO_PROXY.
  • Fix http3 to support streaming response bodies.
  • Fix http3 dependency from public API misuse.

v0.12.14

  • Fix missing fetch_mode_no_cors(), marking as deprecated when not on WASM.

v0.12.13

  • Add Form::into_reader() for blocking multipart forms.
  • Add Form::into_stream() for async multipart forms.
  • Add support for SOCKS4a proxies.
  • Fix decoding responses with multiple zstd frames.
  • Fix RequestBuilder::form() from overwriting a previously set Content-Type header, like the other builder methods.
  • Fix cloning of request timeout in blocking::Request.
  • Fix http3 synchronization of connection creation, reducing unneccesary extra connections.
  • Fix Windows system proxy to use ProxyOverride as a NO_PROXY value.
  • Fix blocking read to correctly reserve and zero read buffer.
  • (wasm) Add support for request timeouts.
  • (wasm) Fix Error::is_timeout() to return true when from a request timeout.

v0.12.12

  • (wasm) Fix compilation by not compiler tokio/time on WASM.

v0.12.11

  • Fix decompression returning an error when HTTP/2 ends with an empty data frame.

v0.12.10

  • Add ClientBuilder::connector_layer() to allow customizing the connector stack.
  • Add ClientBuilder::http2_max_header_list_size() option.
  • Fix propagating body size hint (content-length) information when wrapping bodies.
  • Fix decompression of chunked bodies so the connections can be reused more often.

v0.12.9

  • Add tls::CertificateRevocationLists support.
  • Add crate features to enable webpki roots without selecting a rustls provider.
  • Fix connection_verbose() to output read logs.
  • Fix multipart::Part::file() to automatically include content-length.
  • Fix proxy to internally no longer cache system proxy settings.

v0.12.8

  • Add support for SOCKS4 proxies.
  • Add multipart::Form::file() method for adding files easily.
  • Add Body::wrap() to wrap any http_body::Body type.
  • Fix the pool configuration to use a timer to remove expired connections.

v0.12.7

  • Revert adding impl Service<http::Request<_>> for Client.

v0.12.6

  • Add support for danger_accept_invalid_hostnames for rustls.
  • Add impl Service<http::Request<Body>> for Client and &'_ Client.
  • Add support for !Sync bodies in Body::wrap_stream().
  • Enable happy eyeballs when hickory-dns is used.
  • Fix Proxy so that HTTP(S)_PROXY values take precedence over ALL_PROXY.
  • Fix blocking::RequestBuilder::header() from unsetting sensitive on passed header values.

v0.12.5

  • Add blocking::ClientBuilder::dns_resolver() method to change DNS resolver in blocking client.
  • Add http3 feature back, still requiring reqwest_unstable.
  • Add rustls-tls-no-provider Cargo feature to use rustls without a crypto provider.
  • Fix Accept-Encoding header combinations.
  • Fix http3 resolving IPv6 addresses.
  • Internal: upgrade to rustls 0.23.

v0.12.4

  • Add zstd support, enabled with zstd Cargo feature.
  • Add ClientBuilder::read_timeout(Duration), which applies the duration for each read operation. The timeout resets after a successful read.

v0.12.3

  • Add FromStr for dns::Name.
  • Add ClientBuilder::built_in_webpki_certs(bool) to enable them separately.
  • Add ClientBuilder::built_in_native_certs(bool) to enable them separately.
  • Fix sending content-length: 0 for GET requests.
  • Fix response body content_length() to return value when timeout is configured.
  • Fix ClientBuilder::resolve() to use lowercase domain names.

v0.12.2

  • Fix missing ALPN when connecting to socks5 proxy with rustls.
  • Fix TLS version limits with rustls.
  • Fix not detected ALPN h2 from server with native-tls.

v0.12.1

  • Fix ClientBuilder::interface() when no TLS is enabled.
  • Fix TlsInfo::peer_certificate() being truncated with rustls.
  • Fix panic if http2 feature disabled but TLS negotiated h2 in ALPN.
  • Fix Display for Error to not include its source error.

Configuration

📅 Schedule: (in timezone Europe/Berlin)

  • Branch creation
    • At any time (no schedule defined)
  • Automerge
    • At any time (no schedule defined)

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about this update again.


  • If you want to rebase/retry this PR, check this box

This PR has been generated by Mend Renovate.

This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [reqwest](https://github.com/seanmonstar/reqwest) | dependencies | minor | `0.12` → `0.13` | --- ### Release Notes <details> <summary>seanmonstar/reqwest (reqwest)</summary> ### [`v0.13.5`](https://github.com/seanmonstar/reqwest/blob/HEAD/CHANGELOG.md#v0135) [Compare Source](https://github.com/seanmonstar/reqwest/compare/v0.13.4...v0.13.5) - Add `Error::is_dns()` to identify errors caused by DNS resolution failures. - Add `ClientBuilder::http1_max_headers(usize)` to configure the maximum number of headers accepted in an HTTP/1 response (default 100). - Add TLS version to `TlsInfo` extension. - Fix hickory-dns feature to use `Ipv6AndIpv4` strategy to prefer IPv6. - Fix sending wrong proxy-auth if multiple proxies intercept a given URL. ### [`v0.13.4`](https://github.com/seanmonstar/reqwest/blob/HEAD/CHANGELOG.md#v0134) [Compare Source](https://github.com/seanmonstar/reqwest/compare/v0.13.3...v0.13.4) - Add `ClientBuilder::tls_sslkeylogfile(bool)` option to allow using the related environment variable. - Add `ClientBuilder::http2_keep_alive_*` options for the `blocking` client. - Add TLS 1.3 support when using `native-tls` backend. - Fix redirect handling to strip sensitive headers when the scheme changes. - Fix HTTP/3 happy-eyeball connection creation. - Upgrade hickory-resolver to 0.26. ### [`v0.13.3`](https://github.com/seanmonstar/reqwest/blob/HEAD/CHANGELOG.md#v0133) [Compare Source](https://github.com/seanmonstar/reqwest/compare/v0.13.2...v0.13.3) - Fix CertificateRevocationList parsing of PEM values. - Fix logging in resolver to only show host, not full URL. - Fix hickory-dns to fallback to a default if `/etc/resolv.conf` fails. - Fix HTTP/3 to handle `STOP_SENDING` as not an error. - Fix HTTP/3 pool to remove timed out QUIC connections. - Fix HTTP/3 connection establishment picking IPv4 and IPv6. - Upgrade rustls-platform-verifier. - (wasm) Only use wasm-bindgen on unknown-\* targets. ### [`v0.13.2`](https://github.com/seanmonstar/reqwest/blob/HEAD/CHANGELOG.md#v0132) [Compare Source](https://github.com/seanmonstar/reqwest/compare/v0.13.1...v0.13.2) - Fix HTTP/2 and native-tls ALPN feature combinations. - Fix HTTP/3 to send h3 ALPN. - (wasm) fix `RequestBuilder::json()` from override previously set content-type. ### [`v0.13.1`](https://github.com/seanmonstar/reqwest/blob/HEAD/CHANGELOG.md#v0131) [Compare Source](https://github.com/seanmonstar/reqwest/compare/v0.13.0...v0.13.1) - Fixes compiling with rustls on Android targets. ### [`v0.13.0`](https://github.com/seanmonstar/reqwest/blob/HEAD/CHANGELOG.md#v0130) [Compare Source](https://github.com/seanmonstar/reqwest/compare/v0.12.28...v0.13.0) - **Breaking changes**: - `rustls` is now the default TLS backend, instead of `native-tls`. - `rustls` crypto provider defaults to aws-lc instead of *ring*. (`rustls-no-provider` exists if you want a different crypto provider) - `rustls-tls` has been renamed to `rustls`. - rustls roots features removed, `rustls-platform-verifier` is used by default. - To use different roots, call `tls_certs_only(your_roots)`. - `native-tls` now includes ALPN. To disable, use `native-tls-no-alpn`. - `query` and `form` are now crate features, disabled by default. - Long-deprecated methods and crate features have been removed (such as `trust-dns`, which was renamed `hickory-dns` a while ago). - Many TLS-related methods renamed to improve autocompletion and discovery, but previous name left in place with a "soft" deprecation. (just documented, no warnings) - For example, prefer `tls_backend_rustls()` over `use_rustls_tls()`. #### v0.12.28 - Fix compiling on Windows if TLS and SOCKS features are not enabled. #### v0.12.27 - Add `ClientBuilder::windows_named_pipe(name)` option that will force all requests over that Windows Named Piper. #### v0.12.26 - Fix sending `Accept-Encoding` header only with values configured with reqwest, regardless of underlying tower-http config. #### v0.12.25 - Add `Error::is_upgrade()` to determine if the error was from an HTTP upgrade. - Fix sending `Proxy-Authorization` if only username is configured. - Fix sending `Proxy-Authorization` to HTTPS proxies when the target is HTTP. - Refactor internal decompression handling to use tower-http. #### v0.12.24 - Refactor cookie handling to an internal middleware. - Refactor internal random generator. - Refactor base64 encoding to reduce a copy. - Documentation updates. #### v0.12.23 - Add `ClientBuilder::unix_socket(path)` option that will force all requests over that Unix Domain Socket. - Add `ClientBuilder::retry(policy)` and `reqwest::retry::Builder` to configure automatic retries. - Add `ClientBuilder::dns_resolver2()` with more ergonomic argument bounds, allowing more resolver implementations. - Add `http3_*` options to `blocking::ClientBuilder`. - Fix default TCP timeout values to enabled and faster. - Fix SOCKS proxies to default to port 1080 - (wasm) Add cache methods to `RequestBuilder`. #### v0.12.22 - Fix socks proxies when resolving IPv6 destinations. #### v0.12.21 - Fix socks proxy to use `socks4a://` instead of `socks4h://`. - Fix `Error::is_timeout()` to check for hyper and IO timeouts too. - Fix request `Error` to again include URLs when possible. - Fix socks connect error to include more context. - (wasm) implement `Default` for `Body`. #### v0.12.20 - Add `ClientBuilder::tcp_user_timeout(Duration)` option to set `TCP_USER_TIMEOUT`. - Fix proxy headers only using the first matched proxy. - (wasm) Fix re-adding `Error::is_status()`. #### v0.12.19 - Fix redirect that changes the method to GET should remove payload headers. - Fix redirect to only check the next scheme if the policy action is to follow. - (wasm) Fix compilation error if `cookies` feature is enabled (by the way, it's a noop feature in wasm). #### v0.12.18 - Fix compilation when `socks` enabled without TLS. #### v0.12.17 - Fix compilation on macOS. #### v0.12.16 - Add `ClientBuilder::http3_congestion_bbr()` to enable BBR congestion control. - Add `ClientBuilder::http3_send_grease()` to configure whether to send use QUIC grease. - Add `ClientBuilder::http3_max_field_section_size()` to configure the maximum response headers. - Add `ClientBuilder::tcp_keepalive_interval()` to configure TCP probe interval. - Add `ClientBuilder::tcp_keepalive_retries()` to configure TCP probe count. - Add `Proxy::headers()` to add extra headers that should be sent to a proxy. - Fix `redirect::Policy::limit()` which had an off-by-1 error, allowing 1 more redirect than specified. - Fix HTTP/3 to support streaming request bodies. - (wasm) Fix null bodies when calling `Response::bytes_stream()`. #### v0.12.15 - Fix Windows to support both `ProxyOverride` and `NO_PROXY`. - Fix http3 to support streaming response bodies. - Fix http3 dependency from public API misuse. #### v0.12.14 - Fix missing `fetch_mode_no_cors()`, marking as deprecated when not on WASM. #### v0.12.13 - Add `Form::into_reader()` for blocking `multipart` forms. - Add `Form::into_stream()` for async `multipart` forms. - Add support for SOCKS4a proxies. - Fix decoding responses with multiple zstd frames. - Fix `RequestBuilder::form()` from overwriting a previously set `Content-Type` header, like the other builder methods. - Fix cloning of request timeout in `blocking::Request`. - Fix http3 synchronization of connection creation, reducing unneccesary extra connections. - Fix Windows system proxy to use `ProxyOverride` as a `NO_PROXY` value. - Fix blocking read to correctly reserve and zero read buffer. - (wasm) Add support for request timeouts. - (wasm) Fix `Error::is_timeout()` to return true when from a request timeout. #### v0.12.12 - (wasm) Fix compilation by not compiler `tokio/time` on WASM. #### v0.12.11 - Fix decompression returning an error when HTTP/2 ends with an empty data frame. #### v0.12.10 - Add `ClientBuilder::connector_layer()` to allow customizing the connector stack. - Add `ClientBuilder::http2_max_header_list_size()` option. - Fix propagating body size hint (`content-length`) information when wrapping bodies. - Fix decompression of chunked bodies so the connections can be reused more often. #### v0.12.9 - Add `tls::CertificateRevocationLists` support. - Add crate features to enable webpki roots without selecting a rustls provider. - Fix `connection_verbose()` to output read logs. - Fix `multipart::Part::file()` to automatically include content-length. - Fix proxy to internally no longer cache system proxy settings. #### v0.12.8 - Add support for SOCKS4 proxies. - Add `multipart::Form::file()` method for adding files easily. - Add `Body::wrap()` to wrap any `http_body::Body` type. - Fix the pool configuration to use a timer to remove expired connections. #### v0.12.7 - Revert adding `impl Service<http::Request<_>>` for `Client`. #### v0.12.6 - Add support for `danger_accept_invalid_hostnames` for `rustls`. - Add `impl Service<http::Request<Body>>` for `Client` and `&'_ Client`. - Add support for `!Sync` bodies in `Body::wrap_stream()`. - Enable happy eyeballs when `hickory-dns` is used. - Fix `Proxy` so that `HTTP(S)_PROXY` values take precedence over `ALL_PROXY`. - Fix `blocking::RequestBuilder::header()` from unsetting `sensitive` on passed header values. #### v0.12.5 - Add `blocking::ClientBuilder::dns_resolver()` method to change DNS resolver in blocking client. - Add `http3` feature back, still requiring `reqwest_unstable`. - Add `rustls-tls-no-provider` Cargo feature to use rustls without a crypto provider. - Fix `Accept-Encoding` header combinations. - Fix http3 resolving IPv6 addresses. - Internal: upgrade to rustls 0.23. #### v0.12.4 - Add `zstd` support, enabled with `zstd` Cargo feature. - Add `ClientBuilder::read_timeout(Duration)`, which applies the duration for each read operation. The timeout resets after a successful read. #### v0.12.3 - Add `FromStr` for `dns::Name`. - Add `ClientBuilder::built_in_webpki_certs(bool)` to enable them separately. - Add `ClientBuilder::built_in_native_certs(bool)` to enable them separately. - Fix sending `content-length: 0` for GET requests. - Fix response body `content_length()` to return value when timeout is configured. - Fix `ClientBuilder::resolve()` to use lowercase domain names. #### v0.12.2 - Fix missing ALPN when connecting to socks5 proxy with rustls. - Fix TLS version limits with rustls. - Fix not detected ALPN h2 from server with native-tls. #### v0.12.1 - Fix `ClientBuilder::interface()` when no TLS is enabled. - Fix `TlsInfo::peer_certificate()` being truncated with rustls. - Fix panic if `http2` feature disabled but TLS negotiated h2 in ALPN. - Fix `Display` for `Error` to not include its source error. </details> --- ### Configuration 📅 **Schedule**: (in timezone Europe/Berlin) - Branch creation - At any time (no schedule defined) - Automerge - At any time (no schedule defined) 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR has been generated by [Mend Renovate](https://github.com/renovatebot/renovate). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4xOTUuMCIsInVwZGF0ZWRJblZlciI6IjQzLjE5NS4wIiwidGFyZ2V0QnJhbmNoIjoibWFzdGVyIiwibGFiZWxzIjpbXX0=-->
fix(deps): update rust crate reqwest to 0.13
Some checks failed
renovate/artifacts Artifact file update failure
pr / check (pull_request) Failing after 34s
pr / test (pull_request) Failing after 45s
pr / image (pull_request) Failing after 20s
8445779531
Author
Collaborator

⚠️ Artifact update problem

Renovate failed to update an artifact related to this branch. You probably do not want to merge this PR as-is.

♻ Renovate will retry this branch, including artifacts, only when one of the following happens:

  • any of the package files in this branch needs updating, or
  • the branch becomes conflicted, or
  • you click the rebase/retry checkbox if found above, or
  • you rename this PR's title to start with "rebase!" to trigger it manually

The artifact failure details are included below:

File name: Cargo.lock
    Updating crates.io index
error: failed to select a version for `reqwest`.
    ... required by package `logview v0.1.0 (/tmp/renovate-base/repos/forgejo/lucas/logview)`
versions that meet the requirements `^0.13` are: 0.13.5, 0.13.4, 0.13.3, 0.13.2, 0.13.1, 0.13.0

package `logview` depends on `reqwest` with feature `rustls-tls` but `reqwest` does not have that feature.
help: available features: __native-tls, __native-tls-alpn, __rustls, __rustls-aws-lc-rs, __tls, blocking, brotli, charset, cookies, default, default-tls, deflate, form, gzip, h2, hickory-dns, http2, http3, json, multipart, native-tls, native-tls-no-alpn, native-tls-vendored, native-tls-vendored-no-alpn, query, rustls, rustls-native-certs, rustls-no-provider, socks, stream, system-proxy, webpki-roots, zstd


failed to select a version for `reqwest` which could resolve this conflict

### ⚠️ Artifact update problem Renovate failed to update an artifact related to this branch. You probably do not want to merge this PR as-is. ♻ Renovate will retry this branch, including artifacts, only when one of the following happens: - any of the package files in this branch needs updating, or - the branch becomes conflicted, or - you click the rebase/retry checkbox if found above, or - you rename this PR's title to start with "rebase!" to trigger it manually The artifact failure details are included below: ##### File name: Cargo.lock ``` Updating crates.io index error: failed to select a version for `reqwest`. ... required by package `logview v0.1.0 (/tmp/renovate-base/repos/forgejo/lucas/logview)` versions that meet the requirements `^0.13` are: 0.13.5, 0.13.4, 0.13.3, 0.13.2, 0.13.1, 0.13.0 package `logview` depends on `reqwest` with feature `rustls-tls` but `reqwest` does not have that feature. help: available features: __native-tls, __native-tls-alpn, __rustls, __rustls-aws-lc-rs, __tls, blocking, brotli, charset, cookies, default, default-tls, deflate, form, gzip, h2, hickory-dns, http2, http3, json, multipart, native-tls, native-tls-no-alpn, native-tls-vendored, native-tls-vendored-no-alpn, query, rustls, rustls-native-certs, rustls-no-provider, socks, stream, system-proxy, webpki-roots, zstd failed to select a version for `reqwest` which could resolve this conflict ```
Owner

@omp-deck What would be the correct feature flag here?

@omp-deck What would be the correct feature flag here?
Collaborator

rustls-tls was renamed to rustls in 0.13, so the direct port of our line is:

reqwest = { version = "0.13", default-features = false, features = ["rustls", "stream", "http2", "form"] }

Two things, not just the rename:

1. form is now required. 0.13 moved query and form out of the always-on set into crate features (both off by default). src/victorialogs/client.rs:59 uses .form(&[("query", …), ("limit", …)]), so without it the lockfile update succeeds and the build then fails. stream and http2 keep their names and meaning. We don't need charset — Response::text() still exists without it, it just decodes lossy UTF-8 instead of honouring the Content-Type charset, which is right for VictoriaLogs' JSON-lines output. json is not needed either; we parse lines ourselves.

2. rustls is not root-store-equivalent to rustls-tls. In 0.12, rustls-tls implied rustls-tls-webpki-roots, i.e. the Mozilla root set compiled into the binary. In 0.13 the roots features are gone and rustls pulls in rustls-platform-verifier, which on Linux verifies against the system trust store. For us that's the runtime image: cgr.dev/chainguard/static is advertised as shipping ca-certificates-bundle, so this should keep working against a publicly-signed VictoriaLogs — but the CI image job only smoke-tests logview's own HTTP endpoint, so nothing in CI would catch a missing trust store. [INFERENCE] If you'd rather not depend on the base image's CA bundle, keep the old behaviour explicitly: add the webpki-roots feature and pass them via ClientBuilder::tls_certs_only(…) in VictoriaLogs::new.

Worth knowing but probably fine: rustls also defaults the crypto provider to aws-lc instead of ring. aws-lc-sys needs no CMake/Go/bindgen on x86_64-unknown-linux-musl (pre-generated bindings, C compiler only — https://aws.github.io/aws-lc-rs/requirements/linux.html), so the Alpine builder stage should cope with just musl-dev/gcc. If it doesn't, the escape hatch is rustls-no-provider plus installing a provider ourselves, which costs a direct rustls dependency — I'd only take that if the build actually breaks.

I can't push to this branch from this session; happy to open a follow-up PR with the Cargo.toml change (and the tls_certs_only wiring, if you want the pinned roots) on request.

`rustls-tls` was renamed to `rustls` in 0.13, so the direct port of our line is: ```toml reqwest = { version = "0.13", default-features = false, features = ["rustls", "stream", "http2", "form"] } ``` Two things, not just the rename: **1. `form` is now required.** 0.13 moved `query` and `form` out of the always-on set into crate features (both off by default). `src/victorialogs/client.rs:59` uses `.form(&[("query", …), ("limit", …)])`, so without it the lockfile update succeeds and the *build* then fails. `stream` and `http2` keep their names and meaning. We don't need `charset` — `Response::text()` still exists without it, it just decodes lossy UTF-8 instead of honouring the `Content-Type` charset, which is right for VictoriaLogs' JSON-lines output. `json` is not needed either; we parse lines ourselves. **2. `rustls` is not root-store-equivalent to `rustls-tls`.** In 0.12, `rustls-tls` implied `rustls-tls-webpki-roots`, i.e. the Mozilla root set compiled into the binary. In 0.13 the roots features are gone and `rustls` pulls in `rustls-platform-verifier`, which on Linux verifies against the *system* trust store. For us that's the runtime image: `cgr.dev/chainguard/static` is advertised as shipping `ca-certificates-bundle`, so this should keep working against a publicly-signed VictoriaLogs — but the CI `image` job only smoke-tests logview's own HTTP endpoint, so nothing in CI would catch a missing trust store. [INFERENCE] If you'd rather not depend on the base image's CA bundle, keep the old behaviour explicitly: add the `webpki-roots` feature and pass them via `ClientBuilder::tls_certs_only(…)` in `VictoriaLogs::new`. Worth knowing but probably fine: `rustls` also defaults the crypto provider to aws-lc instead of *ring*. `aws-lc-sys` needs no CMake/Go/bindgen on `x86_64-unknown-linux-musl` (pre-generated bindings, C compiler only — <https://aws.github.io/aws-lc-rs/requirements/linux.html>), so the Alpine builder stage should cope with just `musl-dev`/gcc. If it doesn't, the escape hatch is `rustls-no-provider` plus installing a provider ourselves, which costs a direct `rustls` dependency — I'd only take that if the build actually breaks. I can't push to this branch from this session; happy to open a follow-up PR with the Cargo.toml change (and the `tls_certs_only` wiring, if you want the pinned roots) on request.
renovate-bot bot force-pushed renovate/master-reqwest-0.x from 8445779531
Some checks failed
renovate/artifacts Artifact file update failure
pr / check (pull_request) Failing after 34s
pr / test (pull_request) Failing after 45s
pr / image (pull_request) Failing after 20s
to 7eea1c27a3
Some checks failed
renovate/artifacts Artifact file update failure
pr / check (pull_request) Failing after 29s
pr / test (pull_request) Failing after 22s
pr / image (pull_request) Failing after 38s
2026-11-07 09:41:41 +01:00
Compare
omp-deck left a comment

The push is a rebase onto master (pin/digest/monorepo updates merged in the meantime); the only change belonging to this PR is still the one-line version bump, unchanged. renovate/artifacts on 7eea1c2 is still failing, so Cargo.lock is still not regenerated and the branch cannot build as-is.

The push is a rebase onto master (pin/digest/monorepo updates merged in the meantime); the only change belonging to this PR is still the one-line version bump, unchanged. `renovate/artifacts` on 7eea1c2 is still failing, so Cargo.lock is still not regenerated and the branch cannot build as-is.
Cargo.toml Outdated
@ -17,3 +17,3 @@
jiff = "0.2"
notify = "8"
reqwest = { version = "0.12", default-features = false, features = ["rustls-tls", "stream", "http2"] }
reqwest = { version = "0.13", default-features = false, features = ["rustls-tls", "stream", "http2"] }
Collaborator

Still the unported feature list. 0.13 renamed rustls-tls to rustls (hence the cargo update failure in renovate/artifacts), and it moved form out of the always-on set into an opt-in feature — src/victorialogs/client.rs:59 calls .form(...), so fixing only the rename trades the lockfile error for a compile error. Needed here:

reqwest = { version = "0.13", default-features = false, features = ["rustls", "stream", "http2", "form"] }

See #14 (comment) for the root-store and crypto-provider consequences of rustls-tls → rustls; those are behavioural, not build-breaking.

Still the unported feature list. 0.13 renamed `rustls-tls` to `rustls` (hence the `cargo update` failure in `renovate/artifacts`), and it moved `form` out of the always-on set into an opt-in feature — `src/victorialogs/client.rs:59` calls `.form(...)`, so fixing only the rename trades the lockfile error for a compile error. Needed here: ```toml reqwest = { version = "0.13", default-features = false, features = ["rustls", "stream", "http2", "form"] } ``` See https://git.sclu1034.dev/lucas/logview/pulls/14#issuecomment-19081 for the root-store and crypto-provider consequences of `rustls-tls` → `rustls`; those are behavioural, not build-breaking.
renovate-bot bot force-pushed renovate/master-reqwest-0.x from 7eea1c27a3
Some checks failed
renovate/artifacts Artifact file update failure
pr / check (pull_request) Failing after 29s
pr / test (pull_request) Failing after 22s
pr / image (pull_request) Failing after 38s
to 6e23f6c219
Some checks failed
renovate/artifacts Artifact file update failure
pr / assets (pull_request) Successful in 10s
pr / lint (pull_request) Successful in 9s
pr / image (pull_request) Failing after 23s
pr / check (pull_request) Failing after 22s
pr / test (pull_request) Failing after 20s
2026-11-07 10:47:28 +01:00
Compare
Owner

@omp-deck Please push a change to the feature set. Prefer the system store, if possible

@omp-deck Please push a change to the feature set. Prefer the system store, if possible
Collaborator

omp-deck failed to handle this event: the agent's turn failed.

Details are in omp-deck under webhook delivery 6d38a91f-f89f-4860-95eb-108b6ed66720 (session 01a1b291-2bc2-7000-b9a2-fb7fb242affa).

omp-deck failed to handle this event: the agent's turn failed. Details are in omp-deck under webhook delivery `6d38a91f-f89f-4860-95eb-108b6ed66720` (session `01a1b291-2bc2-7000-b9a2-fb7fb242affa`).
Some checks failed
renovate/artifacts Artifact file update failure
pr / assets (pull_request) Successful in 10s
Required
Details
pr / lint (pull_request) Successful in 9s
Required
Details
pr / image (pull_request) Failing after 23s
Required
Details
pr / check (pull_request) Failing after 22s
Required
Details
pr / test (pull_request) Failing after 20s
Required
Details
This pull request has changes requested by an official reviewer.
This branch is out-of-date with the base branch
You are not authorized to merge this pull request.
View command line instructions

Checkout

From your project repository, check out a new branch and test the changes.
git fetch -u origin 'renovate/master-reqwest-0.x:renovate/master-reqwest-0.x'
git switch 'renovate/master-reqwest-0.x'
Sign in to join this conversation.
No reviewers
No milestone
No project
No assignees
3 participants
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
lucas/logview!14
No description provided.