tokio-1.52.3

expressjs/expresstokio-1.52.3May 8, 2026by Darksonn

AI Summary

This maintenance release stabilizes Tokio's synchronization primitives by fixing critical bugs in channel behavior and lock mechanisms to prevent potential panics and incorrect state tracking.

Key Highlights

  • Fixed underflow in mpsc channel `len()` calculation
  • Fixed notification logic in `OwnedPermit::release()`
  • Fixed `RwLock` to require `max_readers != 0`
  • Fixed `try_recv()` to return `Empty` when permits are outstanding

Full Release Notes

# 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])

[#8062]: https://github.com/tokio-rs/tokio/pull/8062
[#8074]: https://github.com/tokio-rs/tokio/pull/8074
[#8075]: https://github.com/tokio-rs/tokio/pull/8075
[#8076]: https://github.com/tokio-rs/tokio/pull/8076