Releases: tokio-rs/tokio
Releases · tokio-rs/tokio
Tokio v1.22.0
Added
- runtime: add
Handle::runtime_flavor
(#5138) - sync: add
Mutex::blocking_lock_owned
(#5130) - sync: add
Semaphore::MAX_PERMITS
(#5144) - sync: add
merge()
to semaphore permits (#4948) - sync: add
mpsc::WeakUnboundedSender
(#5189)
Added (unstable)
- process: add
Command::process_group
(#5114) - runtime: export metrics about the blocking thread pool (#5161)
- task: add
task::id()
andtask::try_id()
(#5171)
Fixed
- macros: don't take ownership of futures in macros (#5087)
- runtime: fix Stacked Borrows violation in
LocalOwnedTasks
(#5099) - runtime: mitigate ABA with 32-bit queue indices when possible (#5042)
- task: wake local tasks to the local queue when woken by the same thread (#5095)
- time: panic in release mode when
mark_pending
called illegally (#5093) - runtime: fix typo in expect message (#5169)
- runtime: fix
unsync_load
on atomic types (#5175) - task: elaborate safety comments in task deallocation (#5172)
- runtime: fix
LocalSet
drop in thread local (#5179) - net: remove libc type leakage in a public API (#5191)
- runtime: update the alignment of
CachePadded
(#5106)
Changed
- io: make
tokio::io::copy
continue filling the buffer when writer stalls (#5066) - runtime: remove
coop::budget
fromLocalSet::run_until
(#5155) - sync: make
Notify
panic safe (#5154)
Documented
- io: fix doc for
write_i8
to use signed integers (#5040) - net: fix doc typos for TCP and UDP
set_tos
methods (#5073) - net: fix function name in
UdpSocket::recv
documentation (#5150) - sync: typo in
TryLockError
forRwLock::try_write
(#5160) - task: document that spawned tasks execute immediately (#5117)
- time: document return type of
timeout
(#5118) - time: document that
timeout
checks only before poll (#5126) - sync: specify return type of
oneshot::Receiver
in docs (#5198)
Internal changes
- runtime: use const
Mutex::new
for globals (#5061) - runtime: remove
Option
aroundmio::Events
in io driver (#5078) - runtime: remove a conditional compilation clause (#5104)
- runtime: remove a reference to internal time handle (#5107)
- runtime: misc time driver cleanup (#5120)
- runtime: move signal driver to runtime module (#5121)
- runtime: signal driver now uses I/O driver directly (#5125)
- runtime: start decoupling I/O driver and I/O handle (#5127)
- runtime: switch
io::handle
refs with scheduler:Handle (#5128) - runtime: remove Arc from I/O driver (#5134)
- runtime: use signal driver handle via
scheduler::Handle
(#5135) - runtime: move internal clock fns out of context (#5139)
- runtime: remove
runtime::context
module (#5140) - runtime: keep driver cfgs in
driver.rs
(#5141) - runtime: add
runtime::context
to unify thread-locals (#5143) - runtime: rename some confusing internal variables/fns (#5151)
- runtime: move
coop
mod intoruntime
(#5152) - runtime: move budget state to context thread-local (#5157)
- runtime: move park logic into runtime module (#5158)
- runtime: move
Runtime
into its own file (#5159) - runtime: unify entering a runtime with
Handle::enter
(#5163) - runtime: remove handle reference from each scheduler (#5166)
- runtime: move
enter
intocontext
(#5167) - runtime: combine context and entered thread-locals (#5168)
- runtime: fix accidental unsetting of current handle (#5178)
- runtime: move
CoreStage
methods toCore
(#5182) - sync: name mpsc semaphore types (#5146)
Tokio v1.21.2
1.21.2 (September 27, 2022)
This release removes the dependency on the once_cell
crate to restore the MSRV of 1.21.x, which is the latest minor version at the time of release. (#5048)
Tokio v1.20.2
1.20.2 (September 27, 2022)
This release removes the dependency on the once_cell
crate to restore the MSRV of the 1.20.x LTS release. (#5048)
Tokio v1.18.3
1.18.3 (September 27, 2022)
This release removes the dependency on the once_cell
crate to restore the MSRV of the 1.18.x LTS release. (#5048)
Tokio v1.21.1
Tokio v1.21.0
1.21.0 (September 2, 2022)
This release is the first release of Tokio to intentionally support WASM. The sync,macros,io-util,rt,time
features are stabilized on WASM. Additionally the wasm32-wasi target is given unstable support for the net
feature.
Added
- net: add
device
andbind_device
methods to TCP/UDP sockets (#4882) - net: add
tos
andset_tos
methods to TCP and UDP sockets (#4877) - net: add security flags to named pipe
ServerOptions
(#4845) - signal: add more windows signal handlers (#4924)
- sync: add
mpsc::Sender::max_capacity
method (#4904) - sync: implement Weak version of
mpsc::Sender
(#4595) - task: add
LocalSet::enter
(#4765) - task: stabilize
JoinSet
andAbortHandle
(#4920) - tokio: add
track_caller
to public APIs (#4805, #4848, #4852) - wasm: initial support for
wasm32-wasi
target (#4716)
Fixed
- miri: improve miri compatibility by avoiding temporary references in
linked_list::Link
impls (#4841) - signal: don't register write interest on signal pipe (#4898)
- sync: add
#[must_use]
to lock guards (#4886) - sync: fix hang when calling
recv
on closed and reopened broadcast channel (#4867) - task: propagate attributes on task-locals (#4837)
Changed
- fs: change panic to error in
File::start_seek
(#4897) - io: reduce syscalls in
poll_read
(#4840) - process: use blocking threadpool for child stdio I/O (#4824)
- signal: make
SignalKind
methods const (#4956)
Internal changes
- rt: extract
basic_scheduler::Config
(#4935) - rt: move I/O driver into
runtime
module (#4942) - rt: rename internal scheduler types (#4945)
Documented
- chore: fix typos and grammar (#4858, #4894, #4928)
- io: fix typo in
AsyncSeekExt::rewind
docs (#4893) - net: add documentation to
try_read()
for zero-length buffers (#4937) - runtime: remove incorrect panic section for
Builder::worker_threads
(#4849) - sync: doc of
watch::Sender::send
improved (#4959) - task: add cancel safety docs to
JoinHandle
(#4901) - task: expand on cancellation of
spawn_blocking
(#4811) - time: clarify that the first tick of
Interval::tick
happens immediately (#4951)
Unstable
Tokio v1.20.1
Tokio v1.20.0
1.20.0 (July 12, 2022)
Added
- tokio: add track_caller to public APIs (#4772, #4791, #4793, #4806, #4808)
- sync: Add
has_changed
method towatch::Ref
(#4758)
Changed
- time: remove
src/time/driver/wheel/stack.rs
(#4766) - rt: clean up arguments passed to basic scheduler (#4767)
- net: be more specific about winapi features (#4764)
- tokio: use const initialized thread locals where possible (#4677)
- task: various small improvements to LocalKey (#4795)
Fixed
Documented
- fs: warn about performance pitfall (#4762)
- chore: fix spelling (#4769)
- sync: document spurious failures in oneshot (#4777)
- sync: add warning for watch in non-Send futures (#4741)
- chore: fix typo (#4798)
Unstable
Tokio v1.19.2
1.19.2 (June 6, 2022)
This release fixes another bug in Notified::enable
. (#4751)
Tokio v1.19.1
1.19.1 (June 5, 2022)
This release fixes a bug in Notified::enable
. (#4747)