Skip to content

Releases: tokio-rs/tokio

Tokio v1.18.3

27 Sep 20:33
5c76d07
Compare
Choose a tag to compare

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

13 Sep 11:07
dea1cd4
Compare
Choose a tag to compare

1.21.1 (September 13, 2022)

Fixed

  • net: fix dependency resolution for socket2 (#5000)
  • task: ignore failure to set TLS in LocalSet Drop (#4976)

Tokio v1.21.0

02 Sep 11:53
50795e6
Compare
Choose a tag to compare

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)

Tokio v1.20.1

25 Jul 13:01
Compare
Choose a tag to compare

1.20.1 (July 25, 2022)

Fixed

  • chore: fix version detection in build script (#4860)

Tokio v1.20.0

13 Jul 16:09
b343767
Compare
Choose a tag to compare

1.20.0 (July 12, 2022)

Added

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

  • joinset: rename join_one to join_next (#4755)
  • rt: unhandled panic config for current thread rt (#4770)

Tokio v1.19.2

07 Jun 14:50
340c4dc
Compare
Choose a tag to compare

1.19.2 (June 6, 2022)

This release fixes another bug in Notified::enable. (#4751)

Tokio v1.19.1

05 Jun 11:29
bac7984
Compare
Choose a tag to compare

1.19.1 (June 5, 2022)

This release fixes a bug in Notified::enable. (#4747)

Tokio v1.19.0

03 Jun 18:43
674d77d
Compare
Choose a tag to compare

1.19.0 (June 3, 2022)

Added

  • runtime: add is_finished method for JoinHandle and AbortHandle (#4709)
  • runtime: make global queue and event polling intervals configurable (#4671)
  • sync: add Notified::enable (#4705)
  • sync: add watch::Sender::send_if_modified (#4591)
  • sync: add resubscribe method to broadcast::Receiver (#4607)
  • net: add take_error to TcpSocket and TcpStream (#4739)

Changed

  • io: refactor out usage of Weak in the io handle (#4656)

Fixed

  • macros: avoid starvation in join! and try_join! (#4624)

Documented

  • runtime: clarify semantics of tasks outliving block_on (#4729)
  • time: fix example for MissedTickBehavior::Burst (#4713)

Unstable

  • metrics: correctly update atomics in IoDriverMetrics (#4725)
  • metrics: fix compilation with unstable, process, and rt, but without net (#4682)
  • task: add #[track_caller] to JoinSet/JoinMap (#4697)
  • task: add Builder::{spawn_on, spawn_local_on, spawn_blocking_on} (#4683)
  • task: add consume_budget for cooperative scheduling (#4498)
  • task: add join_set::Builder for configuring JoinSet tasks (#4687)
  • task: update return value of JoinSet::join_one (#4726)

Tokio v1.18.2

08 May 19:49
Compare
Choose a tag to compare

1.18.2 (May 5, 2022)

Add missing features for the winapi dependency. (#4663)

Tokio v1.18.1

02 May 15:26
148bea8
Compare
Choose a tag to compare

1.18.1 (May 2, 2022)

The 1.18.0 release broke the build for targets without 64-bit atomics when building with tokio_unstable. This release fixes that. (#4649)