chore(deps): update rust crate tokio to v1.53.0 #12

Open
renovate-bot wants to merge 1 commit from renovate/tokio-1.x-lockfile into main
Member

This PR contains the following updates:

Package Type Update Change
tokio (source) dependencies minor 1.48.01.53.0

Release Notes

tokio-rs/tokio (tokio)

v1.53.0: Tokio v1.53.0

Compare Source

1.53.0 (July 17th, 2026)

Added
  • fs: implement From<OwnedFd> and From<OwnedHandle> for File (#​8266)
  • metrics: add task schedule latency metric (#​7986)
  • net: add SocketAddr methods to Unix sockets (#​8144)
Changed
  • io: add #[inline] to IO trait impls for in-memory types (#​8242)
  • net: implement UCred::pid on FreeBSD (#​8086)
  • net: support Nuttx target os (#​8259)
  • signal: refactor global variables on Windows (#​8231)
  • sync: mpsc::{Receiver,UnboundedReceiver} now drops waker on drop, even if there are still senders (#​8095)
  • taskdump: support taskdumps on s390x (#​8192)
  • time: add #[track_caller] to timeout_at() (#​8077)
  • time: consolidate mutex locks on spurious poll (#​8124)
  • time: defer waker clone on spurious poll (#​8107)
  • time: move lazy-registration state into Sleep (#​8132)
  • tracing: remove unnecessary span clone (#​8126)
Fixed
  • io: do not treat zero-length reads as EOF in Chain (#​8251)
  • net: use getpeereid for QNX peer credentials (#​8270)
  • runtime: avoid illegal state in FastRand (#​8078)
  • sync: wake mpsc receiver when a queued reserve[_many] returns permits (#​8260)
  • taskdump: skip double wake on Trace::capture/Trace::trace_with (#​8043)
  • time: avoid stack overflow in runtime constructor (#​8093)
  • time (alt timer): ensure timers stay in the same runtime after .reset() (#​8169)
IO uring (unstable)
  • fs: use io-uring for fs::try_exists (#​8080)
  • fs: use io-uring for renaming files (#​7800)
  • rt: flush io-uring CQE in case of CQE overflow (#​8277)
Documented
  • docs: clarify cancel safety wording (#​8181)
  • fs: clarify create_dir_all succeeds if path exists (#​8149)
  • io: add warning about stdout reordering with multiple handles (#​8276)
  • net: document pipe try_read*/try_write* readiness behavior (#​8032)
  • runtime: document interaction with fork() (#​8202)
  • sync: clarify broadcast lagging semantics (#​8239)
  • sync: document memory ordering guarantees for Semaphore (#​8119)
  • task: explain why yield_now defers its waker (#​8254)
  • time: add panic docs to timeout_at() (#​8077)
  • time: fix reversed poll order in timeout doc (#​8214)

v1.52.4: Tokio v1.52.4

Compare Source

1.52.4 (July 16th, 2026)

Fixed
  • runtime: don't skip the driver when before_park schedules work (#​8222)
Fixed (unstable)
  • taskdump: remove crate disambiguators from output (#​8264)

v1.52.3: Tokio v1.52.3

Compare Source

1.52.3 (May 8th, 2026)

Fixed
  • sync: fix underflow in mpsc channel len() (#​8062)
  • sync: notify receivers in mpsc OwnedPermit::release() method (#​8075)
  • sync: require that an RwLock has max_readers != 0 (#​8076)
  • sync: return Empty from try_recv() when mpsc is closed with outstanding permits (#​8074)

v1.52.2: Tokio v1.52.2

Compare Source

1.52.2 (May 4th, 2026)

This release reverts the LIFO slot stealing change introduced in 1.51.0 (#​7431), due to its performance impact. (#​8100)

v1.52.1: Tokio v1.52.1

Compare Source

1.52.1 (April 16th, 2026)

Fixed

v1.52.0: Tokio v1.52.0

Compare Source

1.52.0 (April 14th, 2026)

Added

  • io: AioSource::register_borrowed for I/O safety support (#​7992)
  • net: add try_io function to unix::pipe sender and receiver types (#​8030)

Added (unstable)

  • runtime: Builder::enable_eager_driver_handoff setting enable eager hand off of the I/O and time drivers before polling tasks (#​8010)
  • taskdump: add trace_with() for customized task dumps (#​8025)
  • taskdump: allow impl FnMut() in trace_with instead of just fn() (#​8040)
  • fs: support io_uring in AsyncRead for File (#​7907)

Changed

  • runtime: improve spawn_blocking scalability with sharded queue (#​7757)
  • runtime: use compare_exchange_weak() in worker queue (#​8028)

Fixed

  • runtime: overflow second half of tasks when local queue is filled instead of first half (#​8029)

Documented

  • docs: fix typo in oneshot::Sender::send docs (#​8026)
  • docs: hide #[tokio::main] attribute in the docs of sync::watch (#​8035)
  • net: add docs on ConnectionRefused errors with UDP sockets (#​7870)

v1.51.4: Tokio v1.51.4

Compare Source

1.51.4 (July 16th, 2026)

Fixed
  • runtime: don't skip the driver when before_park schedules work (#​8222)

v1.51.3: Tokio v1.51.3

Compare Source

1.51.3 (May 8th, 2026)

Fixed
  • sync: fix underflow in mpsc channel len() (#​8062)
  • sync: notify receivers in mpsc OwnedPermit::release() method (#​8075)
  • sync: require that an RwLock has max_readers != 0 (#​8076)
  • sync: return Empty from try_recv() when mpsc is closed with outstanding permits (#​8074)

v1.51.2: Tokio v1.51.1

Compare Source

1.51.2 (May 4th, 2026)

This release reverts the LIFO slot stealing change introduced in 1.51.0 (#​7431), due to its performance impact. (#​8100)

v1.51.1: Tokio v1.51.1

Compare Source

1.51.1 (April 8th, 2026)

Fixed
  • sync: fix semaphore reopens after forget (#​8021)
  • net: surface errors from SO_ERROR on recv for UDP sockets on Linux (#​8001)
Fixed (unstable)
  • metrics: fix worker_local_schedule_count test (#​8008)
  • rt: do not leak fd when cancelling io_uring open operation (#​7983)

v1.51.0: Tokio v1.51.0

Compare Source

1.51.0 (April 3rd, 2026)

Added
  • net: implement get_peer_cred on Hurd (#​7989)
  • runtime: add tokio::runtime::worker_index() (#​7921)
  • runtime: add runtime name (#​7924)
  • runtime: stabilize LocalRuntime (#​7557)
  • wasm: add wasm32-wasip2 networking support (#​7933)
Changed
  • runtime: steal tasks from the LIFO slot (#​7431)
Fixed
  • docs: do not show "Available on non-loom only." doc label (#​7977)
  • macros: improve overall macro hygiene (#​7997)
  • sync: fix notify_waiters priority in Notify (#​7996)
  • sync: fix panic in Chan::recv_many when called with non-empty vector on closed channel (#​7991)

v1.50.0: Tokio v1.50.0

Compare Source

1.50.0 (Mar 3rd, 2026)

Added
  • net: add TcpStream::set_zero_linger (#​7837)
  • rt: add is_rt_shutdown_err (#​7771)
Changed
  • io: add optimizer hint that memchr returns in-bounds pointer (#​7792)
  • io: implement vectored writes for write_buf (#​7871)
  • runtime: panic when event_interval is set to 0 (#​7838)
  • runtime: shorten default thread name to fit in Linux limit (#​7880)
  • signal: remember the result of SetConsoleCtrlHandler (#​7833)
  • signal: specialize windows Registry (#​7885)
Fixed
  • io: always cleanup AsyncFd registration list on deregister (#​7773)
  • macros: remove (most) local use declarations in tokio::select! (#​7929)
  • net: fix GET_BUF_SIZE constant for target_os = "android" (#​7889)
  • runtime: avoid redundant unpark in current_thread scheduler (#​7834)
  • runtime: don't park in current_thread if before_park defers waker (#​7835)
  • io: fix write readiness on ESP32 on short writes (#​7872)
  • runtime: wake deferred tasks before entering block_in_place (#​7879)
  • sync: drop rx waker when oneshot receiver is dropped (#​7886)
  • runtime: fix double increment of num_idle_threads on shutdown (#​7910, #​7918, #​7922)
Unstable
  • fs: check for io-uring opcode support (#​7815)
  • runtime: avoid lock acquisition after uring init (#​7850)
Documented
  • docs: update outdated unstable features section (#​7839)
  • io: clarify the behavior of AsyncWriteExt::shutdown() (#​7908)
  • io: explain how to flush stdout/stderr (#​7904)
  • io: fix incorrect and confusing AsyncWrite documentation (#​7875)
  • rt: clarify the documentation of Runtime::spawn (#​7803)
  • rt: fix missing quotation in docs (#​7925)
  • runtime: correct the default thread name in docs (#​7896)
  • runtime: fix event_interval doc (#​7932)
  • sync: clarify RwLock fairness documentation (#​7919)
  • sync: clarify that recv returns None once closed and no more messages (#​7920)
  • task: clarify when to use spawn_blocking vs dedicated threads (#​7923)
  • task: doc that task drops before JoinHandle completion (#​7825)
  • signal: guarantee that listeners never return None (#​7869)
  • task: fix task module feature flags in docs (#​7891)
  • task: fix two typos (#​7913)
  • task: improve the docs of Builder::spawn_local (#​7828)
  • time: add docs about auto-advance and when to use sleep (#​7858)
  • util: fix typo in docs (#​7926)

v1.49.0: Tokio v1.49.0

Compare Source

1.49.0 (January 3rd, 2026)

Added
  • net: add support for TCLASS option on IPv6 (#​7781)
  • runtime: stabilize runtime::id::Id (#​7125)
  • task: implement Extend for JoinSet (#​7195)
  • task: stabilize the LocalSet::id() (#​7776)
Changed
  • net: deprecate {TcpStream,TcpSocket}::set_linger (#​7752)
Fixed
  • macros: fix the hygiene issue of join! and try_join! (#​7766)
  • runtime: revert "replace manual vtable definitions with Wake" (#​7699)
  • sync: return TryRecvError::Disconnected from Receiver::try_recv after Receiver::close (#​7686)
  • task: remove unnecessary trait bounds on the Debug implementation (#​7720)
Unstable
  • fs: handle EINTR in fs::write for io-uring (#​7786)
  • fs: support io-uring with tokio::fs::read (#​7696)
  • runtime: disable io-uring on EPERM (#​7724)
  • time: add alternative timer for better multicore scalability (#​7467)
Documented
  • docs: fix a typos in bounded.rs and park.rs (#​7817)
  • io: add SyncIoBridge cross-references to copy and copy_buf (#​7798)
  • io: doc that AsyncWrite does not inherit from std::io::Write (#​7705)
  • metrics: clarify that num_alive_tasks is not strongly consistent (#​7614)
  • net: clarify the cancellation safety of the TcpStream::peek (#​7305)
  • net: clarify the drop behavior of unix::OwnedWriteHalf (#​7742)
  • net: clarify the platform-dependent backlog in TcpSocket docs (#​7738)
  • runtime: mention LocalRuntime in new_current_thread docs (#​7820)
  • sync: add missing period to mpsc::Sender::try_send docs (#​7721)
  • sync: clarify the cancellation safety of oneshot::Receiver (#​7780)
  • sync: improve the docs for the errors of mpsc (#​7722)
  • task: add example for spawn_local usage on local runtime (#​7689)

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 has been generated by Renovate Bot.

This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [tokio](https://tokio.rs) ([source](https://github.com/tokio-rs/tokio)) | dependencies | minor | `1.48.0` → `1.53.0` | --- ### Release Notes <details> <summary>tokio-rs/tokio (tokio)</summary> ### [`v1.53.0`](https://github.com/tokio-rs/tokio/releases/tag/tokio-1.53.0): Tokio v1.53.0 [Compare Source](https://github.com/tokio-rs/tokio/compare/tokio-1.52.4...tokio-1.53.0) ### 1.53.0 (July 17th, 2026) ##### Added - fs: implement `From<OwnedFd>` and `From<OwnedHandle>` for `File` ([#&#8203;8266]) - metrics: add task schedule latency metric ([#&#8203;7986]) - net: add `SocketAddr` methods to Unix sockets ([#&#8203;8144]) ##### Changed - io: add `#[inline]` to IO trait impls for in-memory types ([#&#8203;8242]) - net: implement UCred::pid on FreeBSD ([#&#8203;8086]) - net: support Nuttx target os ([#&#8203;8259]) - signal: refactor global variables on Windows ([#&#8203;8231]) - sync: `mpsc::{Receiver,UnboundedReceiver}` now drops waker on drop, even if there are still senders ([#&#8203;8095]) - taskdump: support taskdumps on s390x ([#&#8203;8192]) - time: add `#[track_caller]` to `timeout_at()` ([#&#8203;8077]) - time: consolidate mutex locks on spurious poll ([#&#8203;8124]) - time: defer waker clone on spurious poll ([#&#8203;8107]) - time: move lazy-registration state into `Sleep` ([#&#8203;8132]) - tracing: remove unnecessary span clone ([#&#8203;8126]) ##### Fixed - io: do not treat zero-length reads as EOF in `Chain` ([#&#8203;8251]) - net: use getpeereid for QNX peer credentials ([#&#8203;8270]) - runtime: avoid illegal state in `FastRand` ([#&#8203;8078]) - sync: wake mpsc receiver when a queued `reserve[_many]` returns permits ([#&#8203;8260]) - taskdump: skip double wake on `Trace::capture`/`Trace::trace_with` ([#&#8203;8043]) - time: avoid stack overflow in runtime constructor ([#&#8203;8093]) - time (alt timer): ensure timers stay in the same runtime after `.reset()` ([#&#8203;8169]) ##### IO uring (unstable) - fs: use io-uring for `fs::try_exists` ([#&#8203;8080]) - fs: use io-uring for renaming files ([#&#8203;7800]) - rt: flush io-uring CQE in case of CQE overflow ([#&#8203;8277]) ##### Documented - docs: clarify cancel safety wording ([#&#8203;8181]) - fs: clarify `create_dir_all` succeeds if path exists ([#&#8203;8149]) - io: add warning about stdout reordering with multiple handles ([#&#8203;8276]) - net: document pipe `try_read*`/`try_write*` readiness behavior ([#&#8203;8032]) - runtime: document interaction with fork() ([#&#8203;8202]) - sync: clarify broadcast lagging semantics ([#&#8203;8239]) - sync: document memory ordering guarantees for Semaphore ([#&#8203;8119]) - task: explain why `yield_now` defers its waker ([#&#8203;8254]) - time: add panic docs to `timeout_at()` ([#&#8203;8077]) - time: fix reversed poll order in timeout doc ([#&#8203;8214]) [#&#8203;7800]: https://github.com/tokio-rs/tokio/pull/7800 [#&#8203;7986]: https://github.com/tokio-rs/tokio/pull/7986 [#&#8203;8032]: https://github.com/tokio-rs/tokio/pull/8032 [#&#8203;8043]: https://github.com/tokio-rs/tokio/pull/8043 [#&#8203;8077]: https://github.com/tokio-rs/tokio/pull/8077 [#&#8203;8078]: https://github.com/tokio-rs/tokio/pull/8078 [#&#8203;8080]: https://github.com/tokio-rs/tokio/pull/8080 [#&#8203;8086]: https://github.com/tokio-rs/tokio/pull/8086 [#&#8203;8093]: https://github.com/tokio-rs/tokio/pull/8093 [#&#8203;8095]: https://github.com/tokio-rs/tokio/pull/8095 [#&#8203;8107]: https://github.com/tokio-rs/tokio/pull/8107 [#&#8203;8119]: https://github.com/tokio-rs/tokio/pull/8119 [#&#8203;8124]: https://github.com/tokio-rs/tokio/pull/8124 [#&#8203;8126]: https://github.com/tokio-rs/tokio/pull/8126 [#&#8203;8132]: https://github.com/tokio-rs/tokio/pull/8132 [#&#8203;8144]: https://github.com/tokio-rs/tokio/pull/8144 [#&#8203;8149]: https://github.com/tokio-rs/tokio/pull/8149 [#&#8203;8169]: https://github.com/tokio-rs/tokio/pull/8169 [#&#8203;8181]: https://github.com/tokio-rs/tokio/pull/8181 [#&#8203;8192]: https://github.com/tokio-rs/tokio/pull/8192 [#&#8203;8193]: https://github.com/tokio-rs/tokio/pull/8193 [#&#8203;8202]: https://github.com/tokio-rs/tokio/pull/8202 [#&#8203;8214]: https://github.com/tokio-rs/tokio/pull/8214 [#&#8203;8231]: https://github.com/tokio-rs/tokio/pull/8231 [#&#8203;8239]: https://github.com/tokio-rs/tokio/pull/8239 [#&#8203;8242]: https://github.com/tokio-rs/tokio/pull/8242 [#&#8203;8251]: https://github.com/tokio-rs/tokio/pull/8251 [#&#8203;8254]: https://github.com/tokio-rs/tokio/pull/8254 [#&#8203;8259]: https://github.com/tokio-rs/tokio/pull/8259 [#&#8203;8260]: https://github.com/tokio-rs/tokio/pull/8260 [#&#8203;8266]: https://github.com/tokio-rs/tokio/pull/8266 [#&#8203;8270]: https://github.com/tokio-rs/tokio/pull/8270 [#&#8203;8276]: https://github.com/tokio-rs/tokio/pull/8276 [#&#8203;8277]: https://github.com/tokio-rs/tokio/pull/8277 ### [`v1.52.4`](https://github.com/tokio-rs/tokio/releases/tag/tokio-1.52.4): Tokio v1.52.4 [Compare Source](https://github.com/tokio-rs/tokio/compare/tokio-1.52.3...tokio-1.52.4) ### 1.52.4 (July 16th, 2026) ##### Fixed - runtime: don't skip the driver when `before_park` schedules work ([#&#8203;8222]) ##### Fixed (unstable) - taskdump: remove crate disambiguators from output ([#&#8203;8264]) [#&#8203;8264]: https://github.com/tokio-rs/tokio/pull/8264 [#&#8203;8222]: https://github.com/tokio-rs/tokio/pull/8222 ### [`v1.52.3`](https://github.com/tokio-rs/tokio/releases/tag/tokio-1.52.3): Tokio v1.52.3 [Compare Source](https://github.com/tokio-rs/tokio/compare/tokio-1.52.2...tokio-1.52.3) ### 1.52.3 (May 8th, 2026) ##### Fixed - sync: fix underflow in mpsc channel `len()` ([#&#8203;8062]) - sync: notify receivers in mpsc `OwnedPermit::release()` method ([#&#8203;8075]) - sync: require that an `RwLock` has `max_readers != 0` ([#&#8203;8076]) - sync: return `Empty` from `try_recv()` when mpsc is closed with outstanding permits ([#&#8203;8074]) [#&#8203;8062]: https://github.com/tokio-rs/tokio/pull/8062 [#&#8203;8074]: https://github.com/tokio-rs/tokio/pull/8074 [#&#8203;8075]: https://github.com/tokio-rs/tokio/pull/8075 [#&#8203;8076]: https://github.com/tokio-rs/tokio/pull/8076 ### [`v1.52.2`](https://github.com/tokio-rs/tokio/releases/tag/tokio-1.52.2): Tokio v1.52.2 [Compare Source](https://github.com/tokio-rs/tokio/compare/tokio-1.52.1...tokio-1.52.2) ### 1.52.2 (May 4th, 2026) This release reverts the LIFO slot stealing change introduced in 1.51.0 ([#&#8203;7431]), due to [its performance impact][#&#8203;8065]. ([#&#8203;8100]) [#&#8203;7431]: https://github.com/tokio-rs/tokio/pull/7431 [#&#8203;8065]: https://github.com/tokio-rs/tokio/pull/8065 [#&#8203;8100]: https://github.com/tokio-rs/tokio/pull/8100 ### [`v1.52.1`](https://github.com/tokio-rs/tokio/releases/tag/tokio-1.52.1): Tokio v1.52.1 [Compare Source](https://github.com/tokio-rs/tokio/compare/tokio-1.52.0...tokio-1.52.1) ### 1.52.1 (April 16th, 2026) #### Fixed - runtime: revert [#&#8203;7757] to fix [a regression][#&#8203;8056] that causes `spawn_blocking` to hang ([#&#8203;8057]) [#&#8203;7757]: https://github.com/tokio-rs/tokio/pull/7757 [#&#8203;8056]: https://github.com/tokio-rs/tokio/pull/8056 [#&#8203;8057]: https://github.com/tokio-rs/tokio/pull/8057 ### [`v1.52.0`](https://github.com/tokio-rs/tokio/releases/tag/tokio-1.52.0): Tokio v1.52.0 [Compare Source](https://github.com/tokio-rs/tokio/compare/tokio-1.51.4...tokio-1.52.0) ### 1.52.0 (April 14th, 2026) #### Added - io: `AioSource::register_borrowed` for I/O safety support ([#&#8203;7992]) - net: add `try_io` function to `unix::pipe` sender and receiver types ([#&#8203;8030]) #### Added (unstable) - runtime: `Builder::enable_eager_driver_handoff` setting enable eager hand off of the I/O and time drivers before polling tasks ([#&#8203;8010]) - taskdump: add `trace_with()` for customized task dumps ([#&#8203;8025]) - taskdump: allow `impl FnMut()` in `trace_with` instead of just `fn()` ([#&#8203;8040]) - fs: support `io_uring` in `AsyncRead` for `File` ([#&#8203;7907]) #### Changed - runtime: improve `spawn_blocking` scalability with sharded queue ([#&#8203;7757]) - runtime: use `compare_exchange_weak()` in worker queue ([#&#8203;8028]) #### Fixed - runtime: overflow second half of tasks when local queue is filled instead of first half ([#&#8203;8029]) #### Documented - docs: fix typo in `oneshot::Sender::send` docs ([#&#8203;8026]) - docs: hide #\[tokio::main] attribute in the docs of `sync::watch` ([#&#8203;8035]) - net: add docs on `ConnectionRefused` errors with UDP sockets ([#&#8203;7870]) [#&#8203;7757]: https://github.com/tokio-rs/tokio/pull/7757 [#&#8203;7870]: https://github.com/tokio-rs/tokio/pull/7870 [#&#8203;7907]: https://github.com/tokio-rs/tokio/pull/7907 [#&#8203;7992]: https://github.com/tokio-rs/tokio/pull/7992 [#&#8203;8010]: https://github.com/tokio-rs/tokio/pull/8010 [#&#8203;8025]: https://github.com/tokio-rs/tokio/pull/8025 [#&#8203;8026]: https://github.com/tokio-rs/tokio/pull/8026 [#&#8203;8028]: https://github.com/tokio-rs/tokio/pull/8028 [#&#8203;8029]: https://github.com/tokio-rs/tokio/pull/8029 [#&#8203;8030]: https://github.com/tokio-rs/tokio/pull/8030 [#&#8203;8035]: https://github.com/tokio-rs/tokio/pull/8035 [#&#8203;8040]: https://github.com/tokio-rs/tokio/pull/8040 ### [`v1.51.4`](https://github.com/tokio-rs/tokio/releases/tag/tokio-1.51.4): Tokio v1.51.4 [Compare Source](https://github.com/tokio-rs/tokio/compare/tokio-1.51.3...tokio-1.51.4) ### 1.51.4 (July 16th, 2026) ##### Fixed - runtime: don't skip the driver when `before_park` schedules work ([#&#8203;8222]) [#&#8203;8222]: https://github.com/tokio-rs/tokio/pull/8222 ### [`v1.51.3`](https://github.com/tokio-rs/tokio/releases/tag/tokio-1.51.3): Tokio v1.51.3 [Compare Source](https://github.com/tokio-rs/tokio/compare/tokio-1.51.2...tokio-1.51.3) ### 1.51.3 (May 8th, 2026) ##### Fixed - sync: fix underflow in mpsc channel `len()` ([#&#8203;8062]) - sync: notify receivers in mpsc `OwnedPermit::release()` method ([#&#8203;8075]) - sync: require that an `RwLock` has `max_readers != 0` ([#&#8203;8076]) - sync: return `Empty` from `try_recv()` when mpsc is closed with outstanding permits ([#&#8203;8074]) [#&#8203;8062]: https://github.com/tokio-rs/tokio/pull/8062 [#&#8203;8074]: https://github.com/tokio-rs/tokio/pull/8074 [#&#8203;8075]: https://github.com/tokio-rs/tokio/pull/8075 [#&#8203;8076]: https://github.com/tokio-rs/tokio/pull/8076 ### [`v1.51.2`](https://github.com/tokio-rs/tokio/releases/tag/tokio-1.51.2): Tokio v1.51.1 [Compare Source](https://github.com/tokio-rs/tokio/compare/tokio-1.51.1...tokio-1.51.2) ### 1.51.2 (May 4th, 2026) This release reverts the LIFO slot stealing change introduced in 1.51.0 ([#&#8203;7431]), due to [its performance impact][#&#8203;8065]. ([#&#8203;8100]) [#&#8203;7431]: https://github.com/tokio-rs/tokio/pull/7431 [#&#8203;8065]: https://github.com/tokio-rs/tokio/pull/8065 [#&#8203;8100]: https://github.com/tokio-rs/tokio/pull/8100 ### [`v1.51.1`](https://github.com/tokio-rs/tokio/releases/tag/tokio-1.51.1): Tokio v1.51.1 [Compare Source](https://github.com/tokio-rs/tokio/compare/tokio-1.51.0...tokio-1.51.1) ### 1.51.1 (April 8th, 2026) ##### Fixed - sync: fix semaphore reopens after forget ([#&#8203;8021]) - net: surface errors from `SO_ERROR` on `recv` for UDP sockets on Linux ([#&#8203;8001]) ##### Fixed (unstable) - metrics: fix `worker_local_schedule_count` test ([#&#8203;8008]) - rt: do not leak fd when cancelling io\_uring open operation ([#&#8203;7983]) [#&#8203;7983]: https://github.com/tokio-rs/tokio/pull/7983 [#&#8203;8001]: https://github.com/tokio-rs/tokio/pull/8001 [#&#8203;8008]: https://github.com/tokio-rs/tokio/pull/8008 [#&#8203;8021]: https://github.com/tokio-rs/tokio/pull/8021 ### [`v1.51.0`](https://github.com/tokio-rs/tokio/releases/tag/tokio-1.51.0): Tokio v1.51.0 [Compare Source](https://github.com/tokio-rs/tokio/compare/tokio-1.50.0...tokio-1.51.0) ### 1.51.0 (April 3rd, 2026) ##### Added - net: implement `get_peer_cred` on Hurd ([#&#8203;7989]) - runtime: add `tokio::runtime::worker_index()` ([#&#8203;7921]) - runtime: add runtime name ([#&#8203;7924]) - runtime: stabilize `LocalRuntime` ([#&#8203;7557]) - wasm: add wasm32-wasip2 networking support ([#&#8203;7933]) ##### Changed - runtime: steal tasks from the LIFO slot ([#&#8203;7431]) ##### Fixed - docs: do not show "Available on non-loom only." doc label ([#&#8203;7977]) - macros: improve overall macro hygiene ([#&#8203;7997]) - sync: fix `notify_waiters` priority in `Notify` ([#&#8203;7996]) - sync: fix panic in `Chan::recv_many` when called with non-empty vector on closed channel ([#&#8203;7991]) [#&#8203;7431]: https://github.com/tokio-rs/tokio/pull/7431 [#&#8203;7557]: https://github.com/tokio-rs/tokio/pull/7557 [#&#8203;7921]: https://github.com/tokio-rs/tokio/pull/7921 [#&#8203;7924]: https://github.com/tokio-rs/tokio/pull/7924 [#&#8203;7933]: https://github.com/tokio-rs/tokio/pull/7933 [#&#8203;7977]: https://github.com/tokio-rs/tokio/pull/7977 [#&#8203;7989]: https://github.com/tokio-rs/tokio/pull/7989 [#&#8203;7991]: https://github.com/tokio-rs/tokio/pull/7991 [#&#8203;7996]: https://github.com/tokio-rs/tokio/pull/7996 [#&#8203;7997]: https://github.com/tokio-rs/tokio/pull/7997 ### [`v1.50.0`](https://github.com/tokio-rs/tokio/releases/tag/tokio-1.50.0): Tokio v1.50.0 [Compare Source](https://github.com/tokio-rs/tokio/compare/tokio-1.49.0...tokio-1.50.0) ### 1.50.0 (Mar 3rd, 2026) ##### Added - net: add `TcpStream::set_zero_linger` ([#&#8203;7837]) - rt: add `is_rt_shutdown_err` ([#&#8203;7771]) ##### Changed - io: add optimizer hint that `memchr` returns in-bounds pointer ([#&#8203;7792]) - io: implement vectored writes for `write_buf` ([#&#8203;7871]) - runtime: panic when `event_interval` is set to 0 ([#&#8203;7838]) - runtime: shorten default thread name to fit in Linux limit ([#&#8203;7880]) - signal: remember the result of `SetConsoleCtrlHandler` ([#&#8203;7833]) - signal: specialize windows `Registry` ([#&#8203;7885]) ##### Fixed - io: always cleanup `AsyncFd` registration list on deregister ([#&#8203;7773]) - macros: remove (most) local `use` declarations in `tokio::select!` ([#&#8203;7929]) - net: fix `GET_BUF_SIZE` constant for `target_os = "android"` ([#&#8203;7889]) - runtime: avoid redundant unpark in current\_thread scheduler ([#&#8203;7834]) - runtime: don't park in `current_thread` if `before_park` defers waker ([#&#8203;7835]) - io: fix write readiness on ESP32 on short writes ([#&#8203;7872]) - runtime: wake deferred tasks before entering `block_in_place` ([#&#8203;7879]) - sync: drop rx waker when oneshot receiver is dropped ([#&#8203;7886]) - runtime: fix double increment of `num_idle_threads` on shutdown ([#&#8203;7910], [#&#8203;7918], [#&#8203;7922]) ##### Unstable - fs: check for io-uring opcode support ([#&#8203;7815]) - runtime: avoid lock acquisition after uring init ([#&#8203;7850]) ##### Documented - docs: update outdated unstable features section ([#&#8203;7839]) - io: clarify the behavior of `AsyncWriteExt::shutdown()` ([#&#8203;7908]) - io: explain how to flush stdout/stderr ([#&#8203;7904]) - io: fix incorrect and confusing `AsyncWrite` documentation ([#&#8203;7875]) - rt: clarify the documentation of `Runtime::spawn` ([#&#8203;7803]) - rt: fix missing quotation in docs ([#&#8203;7925]) - runtime: correct the default thread name in docs ([#&#8203;7896]) - runtime: fix `event_interval` doc ([#&#8203;7932]) - sync: clarify RwLock fairness documentation ([#&#8203;7919]) - sync: clarify that `recv` returns `None` once closed and no more messages ([#&#8203;7920]) - task: clarify when to use `spawn_blocking` vs dedicated threads ([#&#8203;7923]) - task: doc that task drops before `JoinHandle` completion ([#&#8203;7825]) - signal: guarantee that listeners never return `None` ([#&#8203;7869]) - task: fix task module feature flags in docs ([#&#8203;7891]) - task: fix two typos ([#&#8203;7913]) - task: improve the docs of `Builder::spawn_local` ([#&#8203;7828]) - time: add docs about auto-advance and when to use sleep ([#&#8203;7858]) - util: fix typo in docs ([#&#8203;7926]) [#&#8203;7771]: https://github.com/tokio-rs/tokio/pull/7771 [#&#8203;7773]: https://github.com/tokio-rs/tokio/pull/7773 [#&#8203;7792]: https://github.com/tokio-rs/tokio/pull/7792 [#&#8203;7803]: https://github.com/tokio-rs/tokio/pull/7803 [#&#8203;7815]: https://github.com/tokio-rs/tokio/pull/7815 [#&#8203;7825]: https://github.com/tokio-rs/tokio/pull/7825 [#&#8203;7828]: https://github.com/tokio-rs/tokio/pull/7828 [#&#8203;7833]: https://github.com/tokio-rs/tokio/pull/7833 [#&#8203;7834]: https://github.com/tokio-rs/tokio/pull/7834 [#&#8203;7835]: https://github.com/tokio-rs/tokio/pull/7835 [#&#8203;7837]: https://github.com/tokio-rs/tokio/pull/7837 [#&#8203;7838]: https://github.com/tokio-rs/tokio/pull/7838 [#&#8203;7839]: https://github.com/tokio-rs/tokio/pull/7839 [#&#8203;7850]: https://github.com/tokio-rs/tokio/pull/7850 [#&#8203;7858]: https://github.com/tokio-rs/tokio/pull/7858 [#&#8203;7869]: https://github.com/tokio-rs/tokio/pull/7869 [#&#8203;7871]: https://github.com/tokio-rs/tokio/pull/7871 [#&#8203;7872]: https://github.com/tokio-rs/tokio/pull/7872 [#&#8203;7875]: https://github.com/tokio-rs/tokio/pull/7875 [#&#8203;7879]: https://github.com/tokio-rs/tokio/pull/7879 [#&#8203;7880]: https://github.com/tokio-rs/tokio/pull/7880 [#&#8203;7885]: https://github.com/tokio-rs/tokio/pull/7885 [#&#8203;7886]: https://github.com/tokio-rs/tokio/pull/7886 [#&#8203;7889]: https://github.com/tokio-rs/tokio/pull/7889 [#&#8203;7891]: https://github.com/tokio-rs/tokio/pull/7891 [#&#8203;7896]: https://github.com/tokio-rs/tokio/pull/7896 [#&#8203;7904]: https://github.com/tokio-rs/tokio/pull/7904 [#&#8203;7908]: https://github.com/tokio-rs/tokio/pull/7908 [#&#8203;7910]: https://github.com/tokio-rs/tokio/pull/7910 [#&#8203;7913]: https://github.com/tokio-rs/tokio/pull/7913 [#&#8203;7918]: https://github.com/tokio-rs/tokio/pull/7918 [#&#8203;7919]: https://github.com/tokio-rs/tokio/pull/7919 [#&#8203;7920]: https://github.com/tokio-rs/tokio/pull/7920 [#&#8203;7922]: https://github.com/tokio-rs/tokio/pull/7922 [#&#8203;7923]: https://github.com/tokio-rs/tokio/pull/7923 [#&#8203;7925]: https://github.com/tokio-rs/tokio/pull/7925 [#&#8203;7926]: https://github.com/tokio-rs/tokio/pull/7926 [#&#8203;7929]: https://github.com/tokio-rs/tokio/pull/7929 [#&#8203;7932]: https://github.com/tokio-rs/tokio/pull/7932 ### [`v1.49.0`](https://github.com/tokio-rs/tokio/releases/tag/tokio-1.49.0): Tokio v1.49.0 [Compare Source](https://github.com/tokio-rs/tokio/compare/tokio-1.48.0...tokio-1.49.0) ### 1.49.0 (January 3rd, 2026) ##### Added - net: add support for `TCLASS` option on IPv6 ([#&#8203;7781]) - runtime: stabilize `runtime::id::Id` ([#&#8203;7125]) - task: implement `Extend` for `JoinSet` ([#&#8203;7195]) - task: stabilize the `LocalSet::id()` ([#&#8203;7776]) ##### Changed - net: deprecate `{TcpStream,TcpSocket}::set_linger` ([#&#8203;7752]) ##### Fixed - macros: fix the hygiene issue of `join!` and `try_join!` ([#&#8203;7766]) - runtime: revert "replace manual vtable definitions with Wake" ([#&#8203;7699]) - sync: return `TryRecvError::Disconnected` from `Receiver::try_recv` after `Receiver::close` ([#&#8203;7686]) - task: remove unnecessary trait bounds on the `Debug` implementation ([#&#8203;7720]) ##### Unstable - fs: handle `EINTR` in `fs::write` for io-uring ([#&#8203;7786]) - fs: support io-uring with `tokio::fs::read` ([#&#8203;7696]) - runtime: disable io-uring on `EPERM` ([#&#8203;7724]) - time: add alternative timer for better multicore scalability ([#&#8203;7467]) ##### Documented - docs: fix a typos in `bounded.rs` and `park.rs` ([#&#8203;7817]) - io: add `SyncIoBridge` cross-references to `copy` and `copy_buf` ([#&#8203;7798]) - io: doc that `AsyncWrite` does not inherit from `std::io::Write` ([#&#8203;7705]) - metrics: clarify that `num_alive_tasks` is not strongly consistent ([#&#8203;7614]) - net: clarify the cancellation safety of the `TcpStream::peek` ([#&#8203;7305]) - net: clarify the drop behavior of `unix::OwnedWriteHalf` ([#&#8203;7742]) - net: clarify the platform-dependent backlog in `TcpSocket` docs ([#&#8203;7738]) - runtime: mention `LocalRuntime` in `new_current_thread` docs ([#&#8203;7820]) - sync: add missing period to `mpsc::Sender::try_send` docs ([#&#8203;7721]) - sync: clarify the cancellation safety of `oneshot::Receiver` ([#&#8203;7780]) - sync: improve the docs for the `errors` of mpsc ([#&#8203;7722]) - task: add example for `spawn_local` usage on local runtime ([#&#8203;7689]) [#&#8203;7125]: https://github.com/tokio-rs/tokio/pull/7125 [#&#8203;7195]: https://github.com/tokio-rs/tokio/pull/7195 [#&#8203;7305]: https://github.com/tokio-rs/tokio/pull/7305 [#&#8203;7467]: https://github.com/tokio-rs/tokio/pull/7467 [#&#8203;7614]: https://github.com/tokio-rs/tokio/pull/7614 [#&#8203;7686]: https://github.com/tokio-rs/tokio/pull/7686 [#&#8203;7689]: https://github.com/tokio-rs/tokio/pull/7689 [#&#8203;7696]: https://github.com/tokio-rs/tokio/pull/7696 [#&#8203;7699]: https://github.com/tokio-rs/tokio/pull/7699 [#&#8203;7705]: https://github.com/tokio-rs/tokio/pull/7705 [#&#8203;7720]: https://github.com/tokio-rs/tokio/pull/7720 [#&#8203;7721]: https://github.com/tokio-rs/tokio/pull/7721 [#&#8203;7722]: https://github.com/tokio-rs/tokio/pull/7722 [#&#8203;7724]: https://github.com/tokio-rs/tokio/pull/7724 [#&#8203;7738]: https://github.com/tokio-rs/tokio/pull/7738 [#&#8203;7742]: https://github.com/tokio-rs/tokio/pull/7742 [#&#8203;7752]: https://github.com/tokio-rs/tokio/pull/7752 [#&#8203;7766]: https://github.com/tokio-rs/tokio/pull/7766 [#&#8203;7776]: https://github.com/tokio-rs/tokio/pull/7776 [#&#8203;7780]: https://github.com/tokio-rs/tokio/pull/7780 [#&#8203;7781]: https://github.com/tokio-rs/tokio/pull/7781 [#&#8203;7786]: https://github.com/tokio-rs/tokio/pull/7786 [#&#8203;7798]: https://github.com/tokio-rs/tokio/pull/7798 [#&#8203;7817]: https://github.com/tokio-rs/tokio/pull/7817 [#&#8203;7820]: https://github.com/tokio-rs/tokio/pull/7820 </details> --- ### 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. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0Mi42OS4yIiwidXBkYXRlZEluVmVyIjoiNDIuOTkuMCIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==-->
renovate-bot force-pushed renovate/tokio-1.x-lockfile from d47e378290 to 5d109fd46e 2026-03-03 10:06:37 +00:00 Compare
renovate-bot changed title from chore(deps): update rust crate tokio to v1.49.0 to chore(deps): update rust crate tokio to v1.50.0 2026-03-03 10:06:40 +00:00
renovate-bot force-pushed renovate/tokio-1.x-lockfile from 5d109fd46e to d785219523 2026-04-03 09:07:05 +00:00 Compare
renovate-bot changed title from chore(deps): update rust crate tokio to v1.50.0 to chore(deps): update rust crate tokio to v1.51.0 2026-04-03 09:07:07 +00:00
renovate-bot force-pushed renovate/tokio-1.x-lockfile from d785219523 to 27c0764c02 2026-04-08 11:07:51 +00:00 Compare
renovate-bot changed title from chore(deps): update rust crate tokio to v1.51.0 to chore(deps): update rust crate tokio to v1.51.1 2026-04-08 11:07:53 +00:00
renovate-bot force-pushed renovate/tokio-1.x-lockfile from 27c0764c02 to e0c19c18c4 2026-04-14 21:06:24 +00:00 Compare
renovate-bot changed title from chore(deps): update rust crate tokio to v1.51.1 to chore(deps): update rust crate tokio to v1.52.0 2026-04-14 21:06:27 +00:00
renovate-bot force-pushed renovate/tokio-1.x-lockfile from e0c19c18c4 to 6b8170c227 2026-04-16 22:07:08 +00:00 Compare
renovate-bot changed title from chore(deps): update rust crate tokio to v1.52.0 to chore(deps): update rust crate tokio to v1.52.1 2026-04-16 22:07:10 +00:00
renovate-bot force-pushed renovate/tokio-1.x-lockfile from 6b8170c227 to 0562e646de 2026-05-04 13:07:51 +00:00 Compare
renovate-bot changed title from chore(deps): update rust crate tokio to v1.52.1 to chore(deps): update rust crate tokio to v1.52.2 2026-05-04 13:07:53 +00:00
renovate-bot force-pushed renovate/tokio-1.x-lockfile from 0562e646de to c61b4a7dd9 2026-05-08 15:23:27 +00:00 Compare
renovate-bot changed title from chore(deps): update rust crate tokio to v1.52.2 to chore(deps): update rust crate tokio to v1.52.3 2026-05-08 15:23:30 +00:00
renovate-bot force-pushed renovate/tokio-1.x-lockfile from c61b4a7dd9 to 0aa643d133 2026-07-16 14:06:01 +00:00 Compare
renovate-bot changed title from chore(deps): update rust crate tokio to v1.52.3 to chore(deps): update rust crate tokio to v1.52.4 2026-07-16 14:06:02 +00:00
renovate-bot force-pushed renovate/tokio-1.x-lockfile from 0aa643d133 to fd047f3143 2026-07-17 09:05:52 +00:00 Compare
renovate-bot changed title from chore(deps): update rust crate tokio to v1.52.4 to chore(deps): update rust crate tokio to v1.53.0 2026-07-17 09:05:54 +00:00
This pull request can be merged automatically.
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/tokio-1.x-lockfile:renovate/tokio-1.x-lockfile
git switch renovate/tokio-1.x-lockfile

Merge

Merge the changes and update on Forgejo.

Warning: The "Autodetect manual merge" setting is not enabled for this repository, you will have to mark this pull request as manually merged afterwards.

git switch main
git merge --no-ff renovate/tokio-1.x-lockfile
git switch renovate/tokio-1.x-lockfile
git rebase main
git switch main
git merge --ff-only renovate/tokio-1.x-lockfile
git switch renovate/tokio-1.x-lockfile
git rebase main
git switch main
git merge --no-ff renovate/tokio-1.x-lockfile
git switch main
git merge --squash renovate/tokio-1.x-lockfile
git switch main
git merge --ff-only renovate/tokio-1.x-lockfile
git switch main
git merge renovate/tokio-1.x-lockfile
git push origin main
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
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
smyth/smyth-cli!12
No description provided.