Tokio v1.38.0
carllerche
released this
30 May 20:29
·
141 commits
to master
since this release
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)