Releases: tokio-rs/tokio
Releases · tokio-rs/tokio
Tokio v1.20.5
1.20.5 (May 28, 2023)
Forward ports 1.18.6 changes.
Fixed
- deps: disable default features for mio (#5728)
Tokio v1.18.6
Tokio v1.28.1
1.28.1 (May 10th, 2023)
This release fixes a mistake in the build script that makes AsFd
implementations unavailable on Rust 1.63. (#5677)
Tokio v1.28.0
1.28.0 (April 25th, 2023)
Added
- io: add
AsyncFd::async_io
(#5542) - io: impl BufMut for ReadBuf (#5590)
- net: add
recv_buf
forUdpSocket
andUnixDatagram
(#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
andJoinSet::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
Tokio v1.27.0
1.27.0 (March 27th, 2023)
This release bumps the MSRV of Tokio to 1.56. (#5559)
Added
- io: add
async_io
helper method to sockets (#5512) - io: add implementations of
AsFd
/AsHandle
/AsSocket
(#5514, #5540) - net: add
UdpSocket::peek_sender()
(#5520) - sync: add
RwLockWriteGuard::{downgrade_map, try_downgrade_map}
(#5527) - task: add
JoinHandle::abort_handle
(#5543)
Changed
- io: use
memchr
fromlibc
(#5558) - macros: accept path as crate rename in
#[tokio::main]
(#5557) - macros: update to syn 2.0.0 (#5572)
- time: don't register for a wakeup when
Interval
returnsReady
(#5553)
Fixed
- fs: fuse std iterator in
ReadDir
(#5555) - tracing: fix
spawn_blocking
location fields (#5573) - time: clean up redundant check in
Wheel::poll()
(#5574)
Documented
Tokio v1.26.0
Fixed
- macros: fix empty
join!
andtry_join!
(#5504) - sync: don't leak tracing spans in mutex guards (#5469)
- sync: drop wakers after unlocking the mutex in Notify (#5471)
- sync: drop wakers outside lock in semaphore (#5475)
Added
- fs: add
fs::try_exists
(#4299) - net: add types for named unix pipes (#5351)
- sync: add
MappedOwnedMutexGuard
(#5474)
Changed
- chore: update windows-sys to 0.45 (#5386)
- net: use Message Read Mode for named pipes (#5350)
- sync: mark lock guards with
#[clippy::has_significant_drop]
(#5422) - sync: reduce contention in watch channel (#5464)
- time: remove cache padding in timer entries (#5468)
- time: Improve
Instant::now()
perf with test-util (#5513)
Internal Changes
- io: use
poll_fn
incopy_bidirectional
(#5486) - net: refactor named pipe builders to not use bitfields (#5477)
- rt: remove Arc from Clock (#5434)
- sync: make
notify_waiters
calls atomic (#5458) - time: don't store deadline twice in sleep entries (#5410)
Unstable
- metrics: add a new metric for budget exhaustion yields (#5517)
Documented
- io: improve AsyncFd example (#5481)
- runtime: document the nature of the main future (#5494)
- runtime: remove extra period in docs (#5511)
- signal: updated Documentation for Signals (#5459)
- sync: add doc aliases for
blocking_*
methods (#5448) - sync: fix docs for Send/Sync bounds in broadcast (#5480)
- sync: document drop behavior for channels (#5497)
- task: clarify what happens to spawned work during runtime shutdown (#5394)
- task: clarify
process::Command
docs (#5413) - task: fix wording with 'unsend' (#5452)
- time: document immediate completion guarantee for timeouts (#5509)
- tokio: document supported platforms (#5483)
Tokio v1.25.0
Tokio v1.24.1
This release fixes a compilation failure on targets without AtomicU64
when using rustc older than 1.63. (#5356)
Tokio v1.24.0
The highlight of this release is the reduction of lock contention for all I/O operations (#5300). We have received reports of up to a 20% improvement in CPU utilization and increased throughput for real-world I/O heavy applications.
Fixed
- rt: improve native
AtomicU64
support detection (#5284)
Added
- rt: add configuration option for max number of I/O events polled from the OS
per tick (#5186) - rt: add an environment variable for configuring the default number of worker
threads per runtime instance (#4250)
Changed
Tokio v1.23.1
This release forward ports changes from 1.18.4.
Fixed
- net: fix Windows named pipe server builder to maintain option when toggling
pipe mode (#5336).