Releases: tokio-rs/tokio
Releases · tokio-rs/tokio
Tokio v1.29.1
Fixed
- rt: fix nesting two
block_in_place
with ablock_on
between (#5837)
Tokio v1.29.0
Technically a breaking change, the Send
implementation is removed from
runtime::EnterGuard
. This change fixes a bug and should not impact most users.
Breaking
- rt:
EnterGuard
should not beSend
(#5766)
Fixed
- fs: reduce blocking ops in
fs::read_dir
(#5653) - rt: fix possible starvation (#5686, #5712)
- rt: fix stacked borrows issue in
JoinSet
(#5693) - rt: panic if
EnterGuard
dropped incorrect order (#5772) - time: do not overflow to signal value (#5710)
- fs: wait for in-flight ops before cloning
File
(#5803)
Changed
Added
- net: add uds doc alias for unix sockets (#5659)
- rt: add metric for number of tasks (#5628)
- sync: implement more traits for channel errors (#5666)
- net: add nodelay methods on TcpSocket (#5672)
- sync: add
broadcast::Receiver::blocking_recv
(#5690) - process: add
raw_arg
method toCommand
(#5704) - io: support PRIORITY epoll events (#5566)
- task: add
JoinSet::poll_join_next
(#5721) - net: add support for Redox OS (#5790)
Unstable
Tokio v1.28.2
1.28.2 (May 28, 2023)
Forward ports 1.18.6 changes.
Fixed
- deps: disable default features for mio (#5728)
Tokio v1.25.1
1.25.1 (May 28, 2023)
Forward ports 1.18.6 changes.
Fixed
- deps: disable default features for mio (#5728)
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)