Releases: tokio-rs/tokio
Releases · tokio-rs/tokio
Tokio v1.41.1
Tokio v1.41.0
1.41.0 (Oct 22th, 2024)
Added
- metrics: stabilize
global_queue_depth
(#6854, #6918) - net: add conversions for unix
SocketAddr
(#6868) - sync: add
watch::Sender::sender_count
(#6836) - sync: add
mpsc::Receiver::blocking_recv_many
(#6867) - task: stabilize
Id
apis (#6793, #6891)
Added (unstable)
- metrics: add H2 Histogram option to improve histogram granularity (#6897)
- metrics: rename some histogram apis (#6924)
- runtime: add
LocalRuntime
(#6808)
Changed
- runtime: box futures larger than 16k on release mode (#6826)
- sync: add
#[must_use]
toNotified
(#6828) - sync: make
watch
cooperative (#6846) - sync: make
broadcast::Receiver
cooperative (#6870) - task: add task size to tracing instrumentation (#6881)
- wasm: enable
cfg_fs
forwasi
target (#6822)
Fixed
- net: fix regression of abstract socket path in unix socket (#6838)
Documented
- io: recommend
OwnedFd
withAsyncFd
(#6821) - io: document cancel safety of
AsyncFd
methods (#6890) - macros: render more comprehensible documentation for
join
andtry_join
(#6814, #6841) - net: fix swapped examples for
TcpSocket::set_nodelay
andTcpSocket::nodelay
(#6840) - sync: document runtime compatibility (#6833)
Tokio v1.40.0
1.40.0 (August 30th, 2024)
Added
- io: add
util::SimplexStream
(#6589) - process: stabilize
Command::process_group
(#6731) - sync: add
{TrySendError,SendTimeoutError}::into_inner
(#6755) - task: add
JoinSet::join_all
(#6784)
Added (unstable)
- runtime: add
Builder::{on_task_spawn, on_task_terminate}
(#6742)
Changed
- io: use vectored io for
write_all_buf
when possible (#6724) - runtime: prevent niche-optimization to avoid triggering miri (#6744)
- sync: mark mpsc types as
UnwindSafe
(#6783) - sync,time: make
Sleep
andBatchSemaphore
instrumentation explicit roots (#6727) - task: use
NonZeroU64
fortask::Id
(#6733) - task: include panic message when printing
JoinError
(#6753) - task: add
#[must_use]
toJoinHandle::abort_handle
(#6762) - time: eliminate timer wheel allocations (#6779)
Documented
Tokio v1.39.3
1.39.3 (August 17th, 2024)
This release fixes a regression where the unix socket api stopped accepting the abstract socket namespace. (#6772)
Tokio v1.39.2
1.39.2 (July 27th, 2024)
This release fixes a regression where the select!
macro stopped accepting expressions that make use of temporary lifetime extension. (#6722)
Tokio v1.39.1
1.39.1 (July 23rd, 2024)
This release reverts "time: avoid traversing entries in the time wheel twice" because it contains a bug. (#6715)
Tokio v1.39.0
1.39.0 (July 23rd, 2024)
- This release bumps the MSRV to 1.70. (#6645)
- This release upgrades to mio v1. (#6635)
- This release upgrades to windows-sys v0.52 (#6154)
Added
- io: implement
AsyncSeek
forEmpty
(#6663) - metrics: stabilize
num_alive_tasks
(#6619, #6667) - process: add
Command::as_std_mut
(#6608) - sync: add
watch::Sender::same_channel
(#6637) - sync: add
{Receiver,UnboundedReceiver}::{sender_strong_count,sender_weak_count}
(#6661) - sync: implement
Default
forwatch::Sender
(#6626) - task: implement
Clone
forAbortHandle
(#6621) - task: stabilize
consume_budget
(#6622)
Changed
- io: improve panic message of
ReadBuf::put_slice()
(#6629) - io: read during write in
copy_bidirectional
andcopy
(#6532) - runtime: replace
num_cpus
withavailable_parallelism
(#6709) - task: avoid stack overflow when passing large future to
block_on
(#6692) - time: avoid traversing entries in the time wheel twice (#6584)
- time: support
IntoFuture
withtimeout
(#6666) - macros: support
IntoFuture
withjoin!
andselect!
(#6710)
Fixed
- docs: fix docsrs builds with the fs feature enabled (#6585)
- io: only use short-read optimization on known-to-be-compatible platforms (#6668)
- time: fix overflow panic when using large durations with
Interval
(#6612)
Added (unstable)
- macros: allow
unhandled_panic
behavior for#[tokio::main]
and#[tokio::test]
(#6593) - metrics: add
spawned_tasks_count
(#6114) - metrics: add
worker_park_unpark_count
(#6696) - metrics: add worker thread id (#6695)
Documented
Tokio v1.38.1
Tokio v1.38.0
This release marks the beginning of stabilization for runtime metrics. It
stabilizes RuntimeMetrics::worker_count
. Future releases will continue to
stabilize more metrics.
Added
- fs: add
File::create_new
(#6573) - io: add
copy_bidirectional_with_sizes
(#6500) - io: implement
AsyncBufRead
forJoin
(#6449) - net: add Apple visionOS support (#6465)
- net: implement
Clone
forNamedPipeInfo
(#6586) - net: support QNX OS (#6421)
- sync: add
Notify::notify_last
(#6520) - sync: add
mpsc::Receiver::{capacity,max_capacity}
(#6511) - sync: add
split
method to the semaphore permit (#6472, #6478) - task: add
tokio::task::join_set::Builder::spawn_blocking
(#6578) - wasm: support rt-multi-thread with wasm32-wasi-preview1-threads (#6510)
Changed
- macros: make
#[tokio::test]
append#[test]
at the end of the attribute list (#6497) - metrics: fix
blocking_threads
count (#6551) - metrics: stabilize
RuntimeMetrics::worker_count
(#6556) - runtime: move task out of the
lifo_slot
inblock_in_place
(#6596) - runtime: panic if
global_queue_interval
is zero (#6445) - sync: always drop message in destructor for oneshot receiver (#6558)
- sync: instrument
Semaphore
for task dumps (#6499) - sync: use FIFO ordering when waking batches of wakers (#6521)
- task: make
LocalKey::get
work with Clone types (#6433) - tests: update nix and mio-aio dev-dependencies (#6552)
- time: clean up implementation (#6517)
- time: lazily init timers on first poll (#6512)
- time: remove the
true_when
field inTimerShared
(#6563) - time: use sharding for timer implementation (#6534)
Fixed
- taskdump: allow building taskdump docs on non-unix machines (#6564)
- time: check for overflow in
Interval::poll_tick
(#6487) - sync: fix incorrect
is_empty
on mpsc block boundaries (#6603)
Documented
- fs: rewrite file system docs (#6467)
- io: fix
stdin
documentation (#6581) - io: fix obsolete reference in
ReadHalf::unsplit()
documentation (#6498) - macros: render more comprehensible documentation for
select!
(#6468) - net: add missing types to module docs (#6482)
- net: fix misleading
NamedPipeServer
example (#6590) - sync: add examples for
SemaphorePermit
,OwnedSemaphorePermit
(#6477) - sync: document that
Barrier::wait
is not cancel safe (#6494) - sync: explain relation between
watch::Sender::{subscribe,closed}
(#6490) - task: clarify that you can't abort
spawn_blocking
tasks (#6571) - task: fix a typo in doc of
LocalSet::run_until
(#6599) - time: fix test-util requirement for pause and resume in docs (#6503)
Tokio v1.37.0
1.37.0 (March 28th, 2024)
Added
- fs: add
set_max_buf_size
totokio::fs::File
(#6411) - io: add
try_new
andtry_with_interest
toAsyncFd
(#6345) - sync: add
forget_permits
method to semaphore (#6331) - sync: add
is_closed
,is_empty
, andlen
to mpsc receivers (#6348) - sync: add a
rwlock()
method to ownedRwLock
guards (#6418) - sync: expose strong and weak counts of mpsc sender handles (#6405)
- sync: implement
Clone
forwatch::Sender
(#6388) - task: add
TaskLocalFuture::take_value
(#6340) - task: implement
FromIterator
forJoinSet
(#6300)
Changed
- io: make
io::split
use a mutex instead of a spinlock (#6403)
Fixed
- docs: fix docsrs build without net feature (#6360)
- macros: allow select with only else branch (#6339)
- runtime: fix leaking registration entries when os registration fails (#6329)
Documented
- io: document cancel safety of
AsyncBufReadExt::fill_buf
(#6431) - io: document cancel safety of
AsyncReadExt
's primitive read functions (#6337) - runtime: add doc link from
Runtime
to#[tokio::main]
(#6366) - runtime: make the
enter
example deterministic (#6351) - sync: add Semaphore example for limiting the number of outgoing requests (#6419)
- sync: fix missing period in broadcast docs (#6377)
- sync: mark
mpsc::Sender::downgrade
with#[must_use]
(#6326) - sync: reorder
const_new
beforenew_with
(#6392) - sync: update watch channel docs (#6395)
- task: fix documentation links (#6336)