tokio-1.47.0
tokio-rs/tokiotokio-1.47.0Jul 26, 2025by Darksonn
AI Summary
This release introduces cooperative scheduling features with poll_proceed and cooperative in the coop module, adds SetOnce to the sync module similar to std::sync::OnceLock, and adds sync::Notify::notified_owned() for owned notifications.
Key Highlights
- Added coop::cooperative and coop::poll_proceed for cooperative scheduling
- Added sync::SetOnce for one-time initialization
- Added sync::Notify::notified_owned() returning OwnedNotified
- Upgraded windows-sys 0.52 to 0.59
- Updated to socket2 v0.6
- Improved AtomicWaker::wake performance
New Features
- coop: add cooperative and poll_proceed
- sync: add SetOnce
- sync: add sync::Notify::notified_owned()
Full Release Notes
# 1.47.0 (July 25th, 2025) This release adds `poll_proceed` and `cooperative` to the `coop` module for cooperative scheduling, adds `SetOnce` to the `sync` module which provides similar functionality to [`std::sync::OnceLock`], and adds a new method `sync::Notify::notified_owned()` which returns an `OwnedNotified` without a lifetime parameter. ## Added - coop: add `cooperative` and `poll_proceed` ([#7405]) - sync: add `SetOnce` ([#7418]) - sync: add `sync::Notify::notified_owned()` ([#7465]) ## Changed - deps: upgrade windows-sys 0.52 → 0.59 ([#7117]) - deps: update to socket2 v0.6 ([#7443]) - sync: improve `AtomicWaker::wake` performance ([#7450]) ## Documented - metrics: fix listed feature requirements for some metrics ([#7449]) - runtime: improve safety comments of `Readiness<'_>` ([#7415]) [#7405]: https://github.com/tokio-rs/tokio/pull/7405 [#7415]: https://github.com/tokio-rs/tokio/pull/7415 [#7418]: https://github.com/tokio-rs/tokio/pull/7418 [#7449]: https://github.com/tokio-rs/tokio/pull/7449 [#7450]: https://github.com/tokio-rs/tokio/pull/7450 [#7465]: https://github.com/tokio-rs/tokio/pull/7465