Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix(deps): update rust crate reqwest to v0.12.14 #620

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

renovate[bot]
Copy link
Contributor

@renovate renovate bot commented Nov 27, 2024

This PR contains the following updates:

Package Type Update Change
reqwest dependencies patch 0.12.8 -> 0.12.14
reqwest workspace.dependencies patch 0.12.8 -> 0.12.14

Release Notes

seanmonstar/reqwest (reqwest)

v0.12.14

Compare Source

What's Changed

Full Changelog: seanmonstar/reqwest@v0.12.13...v0.12.14

v0.12.13

Compare Source

  • 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

Compare Source

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

v0.12.11

Compare Source

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

v0.12.10

Compare Source

  • 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

Compare Source

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

Configuration

📅 Schedule: 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 these updates again.


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

This PR was generated by Mend Renovate. View the repository job log.

Copy link

🚨 Rust Panic Audit: 342 Potential Panic Points Detected 🚨

Crate: ``

📊 Total Usages: 239

  • 🔎 expect usages: 41
  • 🔢 array_index usages: 31
  • 🚨 panic usages: 8
  • 🎁 unwrap usages: 159

Crate: federation_query_planner

📊 Total Usages: 50

  • 🔢 array_index usages: 10
  • 🔎 expect usages: 8
  • 🚨 panic usages: 3
  • 🎁 unwrap usages: 29

Crate: conductor

📊 Total Usages: 11

  • 🎁 unwrap usages: 2
  • 🔎 expect usages: 7
  • 🚨 panic usages: 2

Crate: common

📊 Total Usages: 11

  • 🎁 unwrap usages: 10
  • 🔢 array_index usages: 1

Crate: cloudflare_worker

📊 Total Usages: 8

  • 🔎 expect usages: 2
  • 🚨 panic usages: 1
  • 🎁 unwrap usages: 5

Crate: telemetry

📊 Total Usages: 7

  • 🔢 array_index usages: 4
  • 🎁 unwrap usages: 3

Crate: engine

📊 Total Usages: 7

  • 🎁 unwrap usages: 6
  • 🔎 expect usages: 1

Crate: tracing

📊 Total Usages: 6

  • 🔎 expect usages: 1
  • 🎁 unwrap usages: 5

Crate: config

📊 Total Usages: 3

  • 🎁 unwrap usages: 2
  • 🚨 panic usages: 1

📌 Expected Annotations

Crate: common

📊 Total Expected Usages: 1

expand details
  1. Reason: "we're parsing a statically defined constant, we know it works ;)"
  • Code: .unwrap()
  • Location: ./libs/common/src/graphql.rs:31

Crate: jwt_auth

📊 Total Expected Usages: 1

expand details
  1. Reason: "if initiating an http client fails, then we have to exit."
  • Code: let client = wasm_polyfills::create_http_client().build().unwrap();
  • Location: ./plugins/jwt_auth/src/jwks_provider.rs:49

Crate: engine

📊 Total Expected Usages: 2

expand details
  1. Reason: "if we are unable to construct the endpoints and attach them onto the gateway's http server, we have to exit"
  • Code: Err(e) => panic!("failed to construct endpoint: {:?}", e),
  • Location: ./libs/engine/src/gateway.rs:158
  1. Reason: "we can safely index here, it's inside a test with constant defined fixtures."
  • Code: ConductorGateway::execute(request, &gw.routes[0].route_data).await
  • Location: ./libs/engine/src/gateway.rs:190

Crate: conductor

📊 Total Expected Usages: 2

expand details
  1. Reason: "we need to exit the process, if the logger can't be correctly set."
  • Code: let _guard = tracing::subscriber::set_default(subscriber);
  • Location: ./bin/conductor/src/lib.rs:64
  1. Reason: "we need to exit the process, if the provided configuration file is incorrect."
  • Code: panic!("Failed to initialize gateway: {:?}", e);
  • Location: ./bin/conductor/src/lib.rs:103

Crate: cloudflare_worker

📊 Total Expected Usages: 4

expand details
  1. Reason: "it panics only if the header name is not valid, and we know it is."
  • Code: .unwrap()
  • Location: ./bin/cloudflare_worker/src/http_tracing.rs:20
  1. Reason: "it panics only if the URL source is not valid, and it's already validated before."
  • Code: let url = req.url().unwrap();
  • Location: ./bin/cloudflare_worker/src/http_tracing.rs:23
  1. Reason: "it only panics if we are not running in a CF context, should be safe."
  • Code: let cf_info = req.cf().unwrap();
  • Location: ./bin/cloudflare_worker/src/http_tracing.rs:27
  1. Reason: "unwraps only in special cases where "data:text" is used."
  • Code: let http_host = url.host().unwrap().to_string();
  • Location: ./bin/cloudflare_worker/src/http_tracing.rs:36

Crate: napi

📊 Total Expected Usages: 1

expand details
  1. Reason: "we need this"
  • Code: panic!("Exited process!")
  • Location: ./libs/napi/src/lib.rs:18

Crate: vrl

📊 Total Expected Usages: 2

expand details
  1. Reason: "if the provided VRL code in the config file can't compile, we have to exit."
  • Code: panic!("failed to compile vrl program");
  • Location: ./plugins/vrl/src/plugin.rs:129
  1. Reason: "states is a non-user provided variable"
  • Code: .expect("can't merge states when states is an empty vector!")
  • Location: ./plugins/vrl/src/plugin.rs:146

Crate: config

📊 Total Expected Usages: 9

expand details
  1. Reason: "part of development docgen CLI"
  • Code: .expect("Failed to serialize json schema for config file!");
  • Location: ./libs/config/src/generate-json-schema.rs:50
  1. Reason: "part of development docgen CLI"
  • Code: .expect("Failed to write the json schema to the file system!");
  • Location: ./libs/config/src/generate-json-schema.rs:54
  1. Reason: "👇"
  • Code: let raw_contents = read_to_string(file_path)
  • Location: ./libs/config/src/lib.rs:815
  1. Reason: "👇"
  • Code: panic!("Failed to interpolate config file, please resolve the above errors");
  • Location: ./libs/config/src/lib.rs:847
  1. Reason: "👇"
  • Code: parse_config_from_json(&config_string).expect("Failed to parse JSON config file")
  • Location: ./libs/config/src/lib.rs:854
  1. Reason: "👇"
  • Code: parse_config_from_yaml(&config_string).expect("Failed to parse YAML config file")
  • Location: ./libs/config/src/lib.rs:858
  1. Reason: "👇"
  • Code: _ => panic!("Unsupported config file extension"),
  • Location: ./libs/config/src/lib.rs:875
  1. Reason: "👇"
  • Code: None => panic!("Config file has no extension"),
  • Location: ./libs/config/src/lib.rs:878
  1. Reason: "statically defined regex pattern, we know it works ;)"
  • Code: .unwrap();
  • Location: ./libs/config/src/interpolate.rs:18

Crate: ``

📊 Total Expected Usages: 22

expand details
  1. Reason: "if we are unable to construct the endpoints and attach them onto the gateway's http server, we have to exit"
  • Code: Err(e) => panic!("failed to construct endpoint: {:?}", e),
  • Location: ./libs/engine/src/gateway.rs:158
  1. Reason: "we can safely index here, it's inside a test with constant defined fixtures."
  • Code: ConductorGateway::execute(request, &gw.routes[0].route_data).await
  • Location: ./libs/engine/src/gateway.rs:190
  1. Reason: "we're parsing a statically defined constant, we know it works ;)"
  • Code: .unwrap()
  • Location: ./libs/common/src/graphql.rs:31
  1. Reason: "we need this"
  • Code: panic!("Exited process!")
  • Location: ./libs/napi/src/lib.rs:18
  1. Reason: "part of development docgen CLI"
  • Code: .expect("Failed to serialize json schema for config file!");
  • Location: ./libs/config/src/generate-json-schema.rs:50
  1. Reason: "part of development docgen CLI"
  • Code: .expect("Failed to write the json schema to the file system!");
  • Location: ./libs/config/src/generate-json-schema.rs:54
  1. Reason: "👇"
  • Code: let raw_contents = read_to_string(file_path)
  • Location: ./libs/config/src/lib.rs:815
  1. Reason: "👇"
  • Code: panic!("Failed to interpolate config file, please resolve the above errors");
  • Location: ./libs/config/src/lib.rs:847
  1. Reason: "👇"
  • Code: parse_config_from_json(&config_string).expect("Failed to parse JSON config file")
  • Location: ./libs/config/src/lib.rs:854
  1. Reason: "👇"
  • Code: parse_config_from_yaml(&config_string).expect("Failed to parse YAML config file")
  • Location: ./libs/config/src/lib.rs:858
  1. Reason: "👇"
  • Code: _ => panic!("Unsupported config file extension"),
  • Location: ./libs/config/src/lib.rs:875
  1. Reason: "👇"
  • Code: None => panic!("Config file has no extension"),
  • Location: ./libs/config/src/lib.rs:878
  1. Reason: "statically defined regex pattern, we know it works ;)"
  • Code: .unwrap();
  • Location: ./libs/config/src/interpolate.rs:18
  1. Reason: "we need to exit the process, if the logger can't be correctly set."
  • Code: let _guard = tracing::subscriber::set_default(subscriber);
  • Location: ./bin/conductor/src/lib.rs:64
  1. Reason: "we need to exit the process, if the provided configuration file is incorrect."
  • Code: panic!("Failed to initialize gateway: {:?}", e);
  • Location: ./bin/conductor/src/lib.rs:103
  1. Reason: "it panics only if the header name is not valid, and we know it is."
  • Code: .unwrap()
  • Location: ./bin/cloudflare_worker/src/http_tracing.rs:20
  1. Reason: "it panics only if the URL source is not valid, and it's already validated before."
  • Code: let url = req.url().unwrap();
  • Location: ./bin/cloudflare_worker/src/http_tracing.rs:23
  1. Reason: "it only panics if we are not running in a CF context, should be safe."
  • Code: let cf_info = req.cf().unwrap();
  • Location: ./bin/cloudflare_worker/src/http_tracing.rs:27
  1. Reason: "unwraps only in special cases where "data:text" is used."
  • Code: let http_host = url.host().unwrap().to_string();
  • Location: ./bin/cloudflare_worker/src/http_tracing.rs:36
  1. Reason: "if initiating an http client fails, then we have to exit."
  • Code: let client = wasm_polyfills::create_http_client().build().unwrap();
  • Location: ./plugins/jwt_auth/src/jwks_provider.rs:49
  1. Reason: "if the provided VRL code in the config file can't compile, we have to exit."
  • Code: panic!("failed to compile vrl program");
  • Location: ./plugins/vrl/src/plugin.rs:129
  1. Reason: "states is a non-user provided variable"
  • Code: .expect("can't merge states when states is an empty vector!")
  • Location: ./plugins/vrl/src/plugin.rs:146

Copy link

🐋 This PR was built and pushed to the following Docker images:

Docker Bake metadata
{
"conductor": {
  "buildx.build.provenance": {
    "buildType": "https://mobyproject.org/buildkit@v1",
    "materials": [
      {
        "uri": "pkg:docker/[email protected]?platform=linux%2Famd64",
        "digest": {
          "sha256": "a92ed51e0996d8e9de041ca05ce623d2c491444df6a535a566dabd5cb8336946"
        }
      },
      {
        "uri": "pkg:docker/[email protected]?platform=linux%2Famd64",
        "digest": {
          "sha256": "83101f6985c93e1e6501b3375de188ee3d2cbb89968bcc91611591f9f447bd42"
        }
      }
    ],
    "invocation": {
      "configSource": {
        "entryPoint": "Dockerfile"
      },
      "parameters": {
        "frontend": "dockerfile.v0",
        "args": {
          "label:org.opencontainers.image.authors": "The Guild <[email protected]>",
          "label:org.opencontainers.image.description": "Conductor is a robust GraphQL Gateway.",
          "label:org.opencontainers.image.docs": "https://the-guild.dev/graphql/gateway",
          "label:org.opencontainers.image.licenses": "MIT",
          "label:org.opencontainers.image.revision": "40b07f4ab1433e33134a2e8f0e7483c50ac9fde2",
          "label:org.opencontainers.image.source": "https://github.com/the-guild-org/conductor",
          "label:org.opencontainers.image.title": "Conductor",
          "label:org.opencontainers.image.url": "https://the-guild.dev/graphql/gateway",
          "label:org.opencontainers.image.vendor": "The Guild",
          "label:org.opencontainers.image.version": ""
        },
        "locals": [
          {
            "name": "context"
          },
          {
            "name": "dockerfile"
          }
        ]
      },
      "environment": {
        "platform": "linux/amd64"
      }
    }
  },
  "buildx.build.ref": "builder-d429ebef-6baa-4fd6-8403-ac4085337961/builder-d429ebef-6baa-4fd6-8403-ac40853379610/qt3at47h90thuffvbp743zrxp",
  "containerimage.config.digest": "sha256:2b550cb255b4fae2ea5f18049cd7582c7c7de3fe55f82de4eb24984151899bc0",
  "containerimage.descriptor": {
    "mediaType": "application/vnd.docker.distribution.manifest.v2+json",
    "digest": "sha256:559fd8085d0d0a0cb8f0c5c4f7b3907da9c1a73ac5e00f78118a72277cb63463",
    "size": 902,
    "platform": {
      "architecture": "amd64",
      "os": "linux"
    }
  },
  "containerimage.digest": "sha256:559fd8085d0d0a0cb8f0c5c4f7b3907da9c1a73ac5e00f78118a72277cb63463",
  "image.name": "ghcr.io/the-guild-org/conductor/conductor:40b07f4ab1433e33134a2e8f0e7483c50ac9fde2"
}
}

Copy link

✅ Benchmark Results

     data_received..................: 13 MB   221 kB/s
     data_sent......................: 22 MB   363 kB/s
     http_req_blocked...............: min=1.11µs   avg=3.05µs   med=2.19µs   max=5.7ms   p(95)=3.22µs   p(99)=12.97µs 
     http_req_connecting............: min=0s       avg=457ns    med=0s       max=5.63ms  p(95)=0s       p(99)=0s      
     http_req_duration..............: min=315.19µs avg=408.01µs med=387.16µs max=13.96ms p(95)=481.67µs p(99)=553.82µs
       { expected_response:true }...: min=315.19µs avg=408.01µs med=387.16µs max=13.96ms p(95)=481.67µs p(99)=553.82µs
     ✓ { scenario:rps_1000 }........: min=315.19µs avg=408.01µs med=387.16µs max=13.96ms p(95)=481.67µs p(99)=553.82µs
     http_req_failed................: 0.00%   ✓ 0           ✗ 60001
     ✓ { scenario:rps_1000 }........: 0.00%   ✓ 0           ✗ 60001
     http_req_receiving.............: min=10.27µs  avg=26.35µs  med=25.72µs  max=1.59ms  p(95)=33.51µs  p(99)=40.22µs 
     http_req_sending...............: min=6.92µs   avg=15.22µs  med=14.01µs  max=2.41ms  p(95)=23.33µs  p(99)=36.84µs 
     http_req_tls_handshaking.......: min=0s       avg=0s       med=0s       max=0s      p(95)=0s       p(99)=0s      
     http_req_waiting...............: min=278.95µs avg=366.43µs med=346.6µs  max=13.84ms p(95)=438.9µs  p(99)=508.91µs
     http_reqs......................: 60001   1000.003424/s
     ✓ { scenario:rps_1000 }........: 60001   1000.003424/s
     iteration_duration.............: min=394.64µs avg=496.5µs  med=474.08µs max=14.22ms p(95)=574.3µs  p(99)=695.76µs
     iterations.....................: 60001   1000.003424/s
     ✓ { scenario:rps_1000 }........: 60001   1000.003424/s
     valid_graphql_response.........: 100.00% ✓ 60001       ✗ 0    
     ✓ { scenario:rps_1000 }........: 100.00% ✓ 60001       ✗ 0    
     valid_http_code................: 100.00% ✓ 60001       ✗ 0    
     ✓ { scenario:rps_1000 }........: 100.00% ✓ 60001       ✗ 0    
     vus............................: 1       min=0         max=2  
     vus_max........................: 200     min=200       max=200

Copy link
Contributor Author

renovate bot commented Dec 16, 2024

⚠️ Artifact update problem

Renovate failed to update artifacts 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
Command failed: cargo update --config net.git-fetch-with-cli=true --manifest-path Cargo.toml --package [email protected] --precise 0.12.14
    Updating crates.io index
error: failed to select a version for `tower`.
    ... required by package `axum v0.7.7`
    ... which satisfies dependency `axum = "^0.7"` (locked to 0.7.7) of package `tonic v0.12.3`
    ... which satisfies dependency `tonic = "^0.12.3"` (locked to 0.12.3) of package `opentelemetry-otlp v0.27.0`
    ... which satisfies dependency `opentelemetry-otlp = "^0.27.0"` (locked to 0.27.0) of package `telemetry_plugin v0.0.0 (/tmp/renovate/repos/github/the-guild-org/conductor/plugins/telemetry)`
    ... which satisfies path dependency `telemetry_plugin` (locked to 0.0.0) of package `e2e v0.0.0 (/tmp/renovate/repos/github/the-guild-org/conductor/libs/e2e_tests)`
versions that meet the requirements `^0.5.1` (locked to 0.5.1) are: 0.5.1

all possible versions conflict with previously selected packages.

  previously selected package `tower v0.5.2`
    ... which satisfies dependency `tower = "^0.5.2"` of package `reqwest v0.12.14`
    ... which satisfies dependency `reqwest = "^0.12.8"` of package `smoke_tests v0.0.0 (/tmp/renovate/repos/github/the-guild-org/conductor/libs/smoke_tests)`

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

File name: Cargo.lock
Command failed: cargo update --config net.git-fetch-with-cli=true --manifest-path plugins/telemetry/Cargo.toml --package [email protected] --precise 0.12.14
    Updating crates.io index
error: failed to select a version for `tower`.
    ... required by package `axum v0.7.7`
    ... which satisfies dependency `axum = "^0.7"` (locked to 0.7.7) of package `tonic v0.12.3`
    ... which satisfies dependency `tonic = "^0.12.3"` (locked to 0.12.3) of package `opentelemetry-otlp v0.27.0`
    ... which satisfies dependency `opentelemetry-otlp = "^0.27.0"` (locked to 0.27.0) of package `telemetry_plugin v0.0.0 (/tmp/renovate/repos/github/the-guild-org/conductor/plugins/telemetry)`
    ... which satisfies path dependency `telemetry_plugin` (locked to 0.0.0) of package `e2e v0.0.0 (/tmp/renovate/repos/github/the-guild-org/conductor/libs/e2e_tests)`
versions that meet the requirements `^0.5.1` (locked to 0.5.1) are: 0.5.1

all possible versions conflict with previously selected packages.

  previously selected package `tower v0.5.2`
    ... which satisfies dependency `tower = "^0.5.2"` of package `reqwest v0.12.14`
    ... which satisfies dependency `reqwest = "^0.12.8"` of package `smoke_tests v0.0.0 (/tmp/renovate/repos/github/the-guild-org/conductor/libs/smoke_tests)`

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

@renovate renovate bot changed the title fix(deps): update rust crate reqwest to v0.12.9 fix(deps): update rust crate reqwest to v0.12.10 Dec 26, 2024
@renovate renovate bot changed the title fix(deps): update rust crate reqwest to v0.12.10 fix(deps): update rust crate reqwest to v0.12.11 Dec 27, 2024
@renovate renovate bot changed the title fix(deps): update rust crate reqwest to v0.12.11 fix(deps): update rust crate reqwest to v0.12.12 Dec 31, 2024
@renovate renovate bot changed the title fix(deps): update rust crate reqwest to v0.12.12 fix(deps): update rust crate reqwest to v0.12.13 Mar 11, 2025
@renovate renovate bot changed the title fix(deps): update rust crate reqwest to v0.12.13 fix(deps): update rust crate reqwest to v0.12.14 Mar 12, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

0 participants