tokio-1.28.0
tokio-rs/tokiotokio-1.28.0Apr 25, 2023by Darksonn
AI Summary
A minor release adding new IO and synchronization utilities, improving buffer handling with `BufMut`, and fixing deadlocks in broadcast channels.
Key Highlights
- Added `AsyncFd::async_io` helper method
- Implemented `BufMut` for `ReadBuf`
- Added `recv_buf` for `UdpSocket` and `UnixDatagram`
- Added `JoinSet::spawn_blocking` and `spawn_blocking_on`
New Features
- Add `AsyncFd::async_io` helper method
- Implement `BufMut` for `ReadBuf`
- Add `recv_buf` for `UdpSocket` and `UnixDatagram`
- Add `OwnedSemaphorePermit::semaphore`
- Add `same_channel` to broadcast channel
- Add `watch::Receiver::wait_for`
- Add `JoinSet::spawn_blocking` and `spawn_blocking_on`
- Support `get_peer_cred` on AIX
Full Release Notes
# 1.28.0 (April 25th, 2023) ### Added - io: add `AsyncFd::async_io` ([#5542]) - io: impl BufMut for ReadBuf ([#5590]) - net: add `recv_buf` for `UdpSocket` and `UnixDatagram` ([#5583]) - sync: add `OwnedSemaphorePermit::semaphore` ([#5618]) - sync: add `same_channel` to broadcast channel ([#5607]) - sync: add `watch::Receiver::wait_for` ([#5611]) - task: add `JoinSet::spawn_blocking` and `JoinSet::spawn_blocking_on` ([#5612]) ### Changed - deps: update windows-sys to 0.48 ([#5591]) - io: make `read_to_end` not grow unnecessarily ([#5610]) - macros: make entrypoints more efficient ([#5621]) - sync: improve Debug impl for `RwLock` ([#5647]) - sync: reduce contention in `Notify` ([#5503]) ### Fixed - net: support `get_peer_cred` on AIX ([#5065]) - sync: avoid deadlocks in `broadcast` with custom wakers ([#5578]) ### Documented - sync: fix typo in `Semaphore::MAX_PERMITS` ([#5645]) - sync: fix typo in `tokio::sync::watch::Sender` docs ([#5587]) [#5065]: https://github.com/tokio-rs/tokio/pull/5065 [#5503]: https://github.com/tokio-rs/tokio/pull/5503 [#5542]: https://github.com/tokio-rs/tokio/pull/5542 [#5578]: https://github.com/tokio-rs/tokio/pull/5578 [#5583]: https://github.com/tokio-rs/tokio/pull/5583 [#5587]: https://github.com/tokio-rs/tokio/pull/5587 [#5590]: https://github.com/tokio-rs/tokio/pull/5590 [#5591]: https://github.com/tokio-rs/tokio/pull/5591 [#5607]: https://github.com/tokio-rs/tokio/pull/5607 [#5610]: https://github.com/tokio-rs/tokio/pull/5610 [#5611]: https://github.com/tokio-rs/tokio/pull/5611 [#5612]: https://github.com/tokio-rs/tokio/pull/5612 [#5618]: https://github.com/tokio-rs/tokio/pull/5618 [#5621]: https://github.com/tokio-rs/tokio/pull/5621 [#5645]: https://github.com/tokio-rs/tokio/pull/5645 [#5647]: https://github.com/tokio-rs/tokio/pull/5647