Skip to content

Tokio v1.21.0

Compare
Choose a tag to compare
@Darksonn Darksonn released this 02 Sep 11:53
· 919 commits to master since this release
50795e6

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 and bind_device methods to TCP/UDP sockets (#4882)
  • net: add tos and set_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 and AbortHandle (#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

  • rt: add unstable option to disable the LIFO slot (#4936)
  • task: fix incorrect signature in Builder::spawn_on (#4953)
  • task: make task::Builder::spawn* methods fallible (#4823)