Sourced from tokio's releases.
Tokio v1.50.0
1.50.0 (Mar 3rd, 2026)
Added
Changed
- io: add optimizer hint that
memchrreturns in-bounds pointer (#7792)- io: implement vectored writes for
write_buf(#7871)- runtime: panic when
event_intervalis set to 0 (#7838)- runtime: shorten default thread name to fit in Linux limit (#7880)
- signal: remember the result of
SetConsoleCtrlHandler(#7833)- signal: specialize windows
Registry(#7885)Fixed
- io: always cleanup
AsyncFdregistration list on deregister (#7773)- macros: remove (most) local
usedeclarations intokio::select!(#7929)- net: fix
GET_BUF_SIZEconstant fortarget_os = "android"(#7889)- runtime: avoid redundant unpark in current_thread scheduler (#7834)
- runtime: don't park in
current_threadifbefore_parkdefers waker (#7835)- io: fix write readiness on ESP32 on short writes (#7872)
- runtime: wake deferred tasks before entering
block_in_place(#7879)- sync: drop rx waker when oneshot receiver is dropped (#7886)
- runtime: fix double increment of
num_idle_threadson shutdown (#7910, #7918, #7922)Unstable
- fs: check for io-uring opcode support (#7815)
- runtime: avoid lock acquisition after uring init (#7850)
Documented
- docs: update outdated unstable features section (#7839)
- io: clarify the behavior of
AsyncWriteExt::shutdown()(#7908)- io: explain how to flush stdout/stderr (#7904)
- io: fix incorrect and confusing
AsyncWritedocumentation (#7875)- rt: clarify the documentation of
Runtime::spawn(#7803)- rt: fix missing quotation in docs (#7925)
- runtime: correct the default thread name in docs (#7896)
- runtime: fix
event_intervaldoc (#7932)- sync: clarify RwLock fairness documentation (#7919)
- sync: clarify that
recvreturnsNoneonce closed and no more messages (#7920)- task: clarify when to use
spawn_blockingvs dedicated threads (#7923)- task: doc that task drops before
JoinHandlecompletion (#7825)- signal: guarantee that listeners never return
None(#7869)- task: fix task module feature flags in docs (#7891)
... (truncated)
0273e45
chore: prepare Tokio v1.50.0 (#7934)e3ee4e5
chore: prepare tokio-macros v2.6.1 (#7943)8c980ea
io: add write_all_vectored to tokio-util (#7768)e35fd6d
ci: fix patch during clippy step (#7935)03fe44c
runtime: fix event_interval doc (#7932)d18e5df
io: fix race in Mock::poll_write (#7882)f21f269
runtime: fix race condition during the blocking pool shutdown (#7922)d81e8f0
macros: remove (most) local use declarations in
tokio::select! (#7929)25e7f26
rt: fix missing quotation in docs (#7925)e1a91ef
util: fix typo in docs (#7926)