tokio-1.52.3

morphik-org/morphik-coretokio-1.52.3May 8, 2026by Darksonn

AI Summary

This release addresses critical synchronization issues in Tokio's multi-producer single-consumer (mpsc) channels and read-write locks, ensuring safer concurrency primitives.

Key Highlights

  • Fixes underflow in mpsc channel `len()`
  • Ensures receivers are notified when permits are released
  • Enforces non-zero `max_readers` for `RwLock` to prevent invalid states
  • Improves `try_recv()` to return `Empty` when channels close with outstanding permits

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