Skip to content

Releases: tokio-rs/tokio

Tokio v1.22.0

18 Nov 21:17
bf31759
Compare
Choose a tag to compare

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() and task::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 from LocalSet::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 for RwLock::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 around mio::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 into runtime (#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 into context (#5167)
  • runtime: combine context and entered thread-locals (#5168)
  • runtime: fix accidental unsetting of current handle (#5178)
  • runtime: move CoreStage methods to Core (#5182)
  • sync: name mpsc semaphore types (#5146)

Tokio v1.21.2

27 Sep 20:34
a79b824
Compare
Choose a tag to compare

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

27 Sep 20:34
3d95a46
Compare
Choose a tag to compare

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

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)