Skip to content
This repository was archived by the owner on Mar 18, 2025. It is now read-only.

chore(deps): update rust crate tokio to v1.44.1 - #617

Open
renovate[bot] wants to merge 1 commit into
masterfrom
renovate/tokio-1.x-lockfile
Open

chore(deps): update rust crate tokio to v1.44.1#617
renovate[bot] wants to merge 1 commit into
masterfrom
renovate/tokio-1.x-lockfile

Conversation

@renovate

@renovate renovate Bot commented Nov 26, 2024

Copy link
Copy Markdown
Contributor

This PR contains the following updates:

Package Type Update Change
tokio (source) workspace.dependencies minor 1.41.0 -> 1.44.1

Release Notes

tokio-rs/tokio (tokio)

v1.44.1: Tokio v1.44.1

Compare Source

1.44.1 (March 13th, 2025)

Fixed
  • rt: skip defer queue in block_in_place context (#​7216)

v1.44.0: Tokio v1.44.0

Compare Source

1.44.0 (March 7th, 2025)

This release changes the from_std method on sockets to panic if a blocking socket is provided. We determined this change is not a breaking change as Tokio is not intended to operate using blocking sockets. Doing so results in runtime hangs and should be considered a bug. Accidentally passing a blocking socket to Tokio is one of the most common user mistakes. If this change causes an issue for you, please comment on #​7172.

Added
  • coop: add task::coop module (#​7116)
  • process: add Command::get_kill_on_drop() (#​7086)
  • sync: add broadcast::Sender::closed (#​6685, #​7090)
  • sync: add broadcast::WeakSender (#​7100)
  • sync: add oneshot::Receiver::is_empty() (#​7153)
  • sync: add oneshot::Receiver::is_terminated() (#​7152)
Fixed
  • fs: empty reads on File should not start a background read (#​7139)
  • process: calling start_kill on exited child should not fail (#​7160)
  • signal: fix CTRL_CLOSE, CTRL_LOGOFF, CTRL_SHUTDOWN on windows (#​7122)
  • sync: properly handle panic during mpsc drop (#​7094)
Changes
  • runtime: clean up magic number in registration set (#​7112)
  • coop: make coop yield using waker defer strategy (#​7185)
  • macros: make select! budget-aware (#​7164)
  • net: panic when passing a blocking socket to from_std (#​7166)
  • io: clean up buffer casts (#​7142)
Changes to unstable APIs
  • rt: add before and after task poll callbacks (#​7120)
  • tracing: make the task tracing API unstable public (#​6972)
Documented
  • docs: fix nesting of sections in top-level docs (#​7159)
  • fs: rename symlink and hardlink parameter names (#​7143)
  • io: swap reader/writer in simplex doc test (#​7176)
  • macros: docs about select! alternatives (#​7110)
  • net: rename the argument for send_to (#​7146)
  • process: add example for reading Child stdout (#​7141)
  • process: clarify Child::kill behavior (#​7162)
  • process: fix grammar of the ChildStdin struct doc comment (#​7192)
  • runtime: consistently use worker_threads instead of core_threads (#​7186)

v1.43.0: Tokio v1.43.0

Compare Source

1.43.0 (Jan 8th, 2025)
Added
  • net: add UdpSocket::peek methods (#​7068)
  • net: add support for Haiku OS (#​7042)
  • process: add Command::into_std() (#​7014)
  • signal: add SignalKind::info on illumos (#​6995)
  • signal: add support for realtime signals on illumos (#​7029)
Fixed
  • io: don't call set_len before initializing vector in Blocking (#​7054)
  • macros: suppress clippy::needless_return in #[tokio::main] (#​6874)
  • runtime: fix thread parking on WebAssembly (#​7041)
Changes
  • chore: use unsync loads for unsync_load (#​7073)
  • io: use Buf::put_bytes in Repeat read impl (#​7055)
  • task: drop the join waker of a task eagerly (#​6986)
Changes to unstable APIs
  • metrics: improve flexibility of H2Histogram Configuration (#​6963)
  • taskdump: add accessor methods for backtrace (#​6975)
Documented
  • io: clarify ReadBuf::uninit allows initialized buffers as well (#​7053)
  • net: fix ambiguity in TcpStream::try_write_vectored docs (#​7067)
  • runtime: fix LocalRuntime doc links (#​7074)
  • sync: extend documentation for watch::Receiver::wait_for (#​7038)
  • sync: fix typos in OnceCell docs (#​7047)

v1.42.0: Tokio v1.42.0

Compare Source

1.42.0 (Dec 3rd, 2024)
Added
  • io: add AsyncFd::{try_io, try_io_mut} (#​6967)
Fixed
  • io: avoid ptr->ref->ptr roundtrip in RegistrationSet (#​6929)
  • runtime: do not defer yield_now inside block_in_place (#​6999)
Changes
  • io: simplify io readiness logic (#​6966)
Documented
  • net: fix docs for tokio::net::unix::{pid_t, gid_t, uid_t} (#​6791)
  • time: fix a typo in Instant docs (#​6982)

v1.41.1: Tokio v1.41.1

Compare Source

1.41.1 (Nov 7th, 2024)
Fixed
  • metrics: fix bug with wrong number of buckets for the histogram (#​6957)
  • net: display net requirement for net::UdpSocket in docs (#​6938)
  • net: fix typo in TcpStream internal comment (#​6944)

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 this update again.


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

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

@github-actions

github-actions Bot commented Nov 26, 2024

Copy link
Copy Markdown

🚨 Rust Panic Audit: 342 Potential Panic Points Detected 🚨

Crate: ``

📊 Total Usages: 239

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

Crate: federation_query_planner

📊 Total Usages: 50

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

Crate: common

📊 Total Usages: 11

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

Crate: conductor

📊 Total Usages: 11

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

Crate: cloudflare_worker

📊 Total Usages: 8

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

Crate: engine

📊 Total Usages: 7

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

Crate: telemetry

📊 Total Usages: 7

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

Crate: tracing

📊 Total Usages: 6

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

Crate: config

📊 Total Usages: 3

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

📌 Expected Annotations

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: 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: 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: 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: 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: 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: 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: config

📊 Total Expected Usages: 9

expand details
  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: "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

Crate: ``

📊 Total Expected Usages: 22

expand details
  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: "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: "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 need this"
  • Code: panic!("Exited process!")
  • Location: ./libs/napi/src/lib.rs:18
  1. Reason: "we're parsing a statically defined constant, we know it works ;)"
  • Code: .unwrap()
  • Location: ./libs/common/src/graphql.rs:31
  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
  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

@github-actions

Copy link
Copy Markdown

🐋 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/debian@12.5?platform=linux%2Famd64",
        "digest": {
          "sha256": "a92ed51e0996d8e9de041ca05ce623d2c491444df6a535a566dabd5cb8336946"
        }
      },
      {
        "uri": "pkg:docker/rust@1.77.2?platform=linux%2Famd64",
        "digest": {
          "sha256": "83101f6985c93e1e6501b3375de188ee3d2cbb89968bcc91611591f9f447bd42"
        }
      }
    ],
    "invocation": {
      "configSource": {
        "entryPoint": "Dockerfile"
      },
      "parameters": {
        "frontend": "dockerfile.v0",
        "args": {
          "label:org.opencontainers.image.authors": "The Guild <contact@the-guild.dev>",
          "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": "b8f24031005f4a3cedcaae12ed640b43a90412a0",
          "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-c0d011c8-d4e1-4fbc-a03e-d227416e998d/builder-c0d011c8-d4e1-4fbc-a03e-d227416e998d0/xis4bg1lm62xw1d4sdgnzadau",
  "containerimage.config.digest": "sha256:8102734213d60c6c74aafbd991f345cd8ec7ba3437af39a243fc3b0688595180",
  "containerimage.descriptor": {
    "mediaType": "application/vnd.docker.distribution.manifest.v2+json",
    "digest": "sha256:9ee8d2dd21f7ccc137228fa0b405906d57ed755e726a5d66c39b7ed7bde46ea4",
    "size": 902,
    "platform": {
      "architecture": "amd64",
      "os": "linux"
    }
  },
  "containerimage.digest": "sha256:9ee8d2dd21f7ccc137228fa0b405906d57ed755e726a5d66c39b7ed7bde46ea4",
  "image.name": "ghcr.io/the-guild-org/conductor/conductor:b8f24031005f4a3cedcaae12ed640b43a90412a0"
}
}

@github-actions

Copy link
Copy Markdown

✅ Benchmark Results

     data_received..................: 13 MB   221 kB/s
     data_sent......................: 22 MB   363 kB/s
     http_req_blocked...............: min=882ns    avg=2.67µs   med=2.07µs   max=414.92µs p(95)=3.04µs   p(99)=9.08µs  
     http_req_connecting............: min=0s       avg=307ns    med=0s       max=303.91µs p(95)=0s       p(99)=0s      
     http_req_duration..............: min=308.82µs avg=403.11µs med=383.63µs max=12.62ms  p(95)=474.22µs p(99)=542.87µs
       { expected_response:true }...: min=308.82µs avg=403.11µs med=383.63µs max=12.62ms  p(95)=474.22µs p(99)=542.87µs
     ✓ { scenario:rps_1000 }........: min=308.82µs avg=403.11µs med=383.63µs max=12.62ms  p(95)=474.22µs p(99)=542.87µs
     http_req_failed................: 0.00%   ✓ 0           ✗ 60001
     ✓ { scenario:rps_1000 }........: 0.00%   ✓ 0           ✗ 60001
     http_req_receiving.............: min=10.38µs  avg=26.62µs  med=25.92µs  max=10.65ms  p(95)=34.34µs  p(99)=43.84µs 
     http_req_sending...............: min=5.66µs   avg=15.13µs  med=13.98µs  max=3.33ms   p(95)=22.9µs   p(99)=31.81µs 
     http_req_tls_handshaking.......: min=0s       avg=0s       med=0s       max=0s       p(95)=0s       p(99)=0s      
     http_req_waiting...............: min=273.2µs  avg=361.35µs med=342.37µs max=12.56ms  p(95)=434.1µs  p(99)=498.73µs
     http_reqs......................: 60001   1000.005962/s
     ✓ { scenario:rps_1000 }........: 60001   1000.005962/s
     iteration_duration.............: min=378.7µs  avg=490.19µs med=469.84µs max=12.78ms  p(95)=564.31µs p(99)=670.08µs
     iterations.....................: 60001   1000.005962/s
     ✓ { scenario:rps_1000 }........: 60001   1000.005962/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............................: 0       min=0         max=2  
     vus_max........................: 200     min=200       max=200

@renovate renovate Bot changed the title chore(deps): update rust crate tokio to v1.41.1 chore(deps): update rust crate tokio to v1.42.0 Dec 3, 2024
@renovate
renovate Bot force-pushed the renovate/tokio-1.x-lockfile branch from b8f2403 to 581da1f Compare December 3, 2024 17:04
@renovate renovate Bot changed the title chore(deps): update rust crate tokio to v1.42.0 fix(deps): update rust crate tokio to v1.42.0 Dec 16, 2024
@renovate renovate Bot changed the title fix(deps): update rust crate tokio to v1.42.0 chore(deps): update rust crate tokio to v1.42.0 Dec 17, 2024
@renovate renovate Bot changed the title chore(deps): update rust crate tokio to v1.42.0 chore(deps): update rust crate tokio to v1.43.0 Jan 8, 2025
@renovate
renovate Bot force-pushed the renovate/tokio-1.x-lockfile branch from 581da1f to b2d659a Compare January 8, 2025 19:20
@renovate
renovate Bot force-pushed the renovate/tokio-1.x-lockfile branch from b2d659a to 4588658 Compare March 7, 2025 22:32
@renovate renovate Bot changed the title chore(deps): update rust crate tokio to v1.43.0 chore(deps): update rust crate tokio to v1.44.0 Mar 7, 2025
@renovate renovate Bot changed the title chore(deps): update rust crate tokio to v1.44.0 chore(deps): update rust crate tokio to v1.44.1 Mar 13, 2025
@renovate
renovate Bot force-pushed the renovate/tokio-1.x-lockfile branch from 4588658 to 22a66e0 Compare March 13, 2025 11:52
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants