Skip to content

Releases: tokio-rs/tokio

Tokio v1.52.3

08 May 12:53
d875691

Choose a tag to compare

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)

Tokio v1.51.3

08 May 08:47
fd63094

Choose a tag to compare

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)

Tokio v1.47.5

07 May 12:24
11bfc13

Choose a tag to compare

1.47.5 (May 7th, 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)

Tokio v1.52.2

04 May 12:49
4abe9d7

Choose a tag to compare

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)

Tokio v1.51.1

04 May 12:48
64834ec

Choose a tag to compare

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)

Tokio v1.52.1

16 Apr 21:29
905c146

Choose a tag to compare

1.52.1 (April 16th, 2026)

Fixed

Tokio v1.52.0

14 Apr 19:14
5f7be0a

Choose a tag to compare

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)

Tokio v1.51.1

08 Apr 10:39
98df02d

Choose a tag to compare

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)

Tokio v1.51.0

03 Apr 08:43
0af06b7

Choose a tag to compare

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)

Tokio v1.47.4

02 Apr 12:41
aa65d0d

Choose a tag to compare

1.47.4 (April 2nd, 2026)

Fixed

  • sync: fix panic in Chan::recv_many when called with non-empty vector on closed channel (#7991)