Skip to content

Releases: tokio-rs/tokio

Tokio v1.14.0

22 Nov 17:47
884a9a4
Compare
Choose a tag to compare

1.14.0 (November 15, 2021)

Fixed

  • macros: fix compiler errors when using mut patterns in select! (#4211)
  • sync: fix a data race between oneshot::Sender::send and awaiting a
    oneshot::Receiver when the oneshot has been closed (#4226)
  • sync: make AtomicWaker panic safe (#3689)
  • runtime: fix basic scheduler dropping tasks outside a runtime context
    (#4213)

Added

  • stats: add RuntimeStats::busy_duration_total (#4179, #4223)

Changed

  • io: updated copy buffer size to match std::io::copy (#4209)

Documented

  • io: rename buffer to file in doc-test (#4230)
  • sync: fix Notify example (#4212)

Tokio v1.13.1

17 Nov 18:03
Compare
Choose a tag to compare

1.13.1 (November 15, 2021)

This release fixes a data race when sending and receiving on a
closed oneshot channel (RUSTSEC-2021-0124).

Fixed

  • sync: fix a data race between oneshot::Sender::send and awaiting a
    oneshot::Receiver when the oneshot has been closed (#4226)

Tokio v1.13.0

29 Oct 16:39
ac89d89
Compare
Choose a tag to compare

1.13.0 (October 29, 2021)

Fixed

  • sync: fix Notify to clone the waker before locking its waiter list (#4129)
  • tokio: add riscv32 to non atomic64 architectures (#4185)

Added

  • net: add poll_{recv,send}_ready methods to udp and uds_datagram (#4131)
  • net: add try_*, readable, writable, ready, and peer_addr methods to split halves (#4120)
  • sync: add blocking_lock to Mutex (#4130)
  • sync: add watch::Sender::send_replace (#3962, #4195)
  • sync: expand Debug for Mutex<T> impl to unsized T (#4134)
  • tracing: instrument time::Sleep (#4072)
  • tracing: use structured location fields for spawned tasks (#4128)

Changed

  • io: add assert in copy_bidirectional that poll_write is sensible (#4125)
  • macros: use qualified syntax when polling in select! (#4192)
  • runtime: handle block_on wakeups better (#4157)
  • task: allocate callback on heap immediately in debug mode (#4203)
  • tokio: assert platform-minimum requirements at build time (#3797)

Documented

  • docs: conversion of doc comments to indicative mood (#4174)
  • docs: add returning on the first error example for try_join! (#4133)
  • docs: fixing broken links in tokio/src/lib.rs (#4132)
  • signal: add example with background listener (#4171)
  • sync: add more oneshot examples (#4153)
  • time: document Interval::tick cancel safety (#4152)

Tokio v1.12.0

21 Sep 15:16
1ed89aa
Compare
Choose a tag to compare

1.12.0 (September 21, 2021)

Fixed

  • mpsc: ensure try_reserve error is consistent with try_send (#4119)
  • mpsc: use spin_loop_hint instead of yield_now (#4115)
  • sync: make SendError field public (#4097)

Added

  • io: add POSIX AIO on FreeBSD (#4054)
  • io: add convenience method AsyncSeekExt::rewind (#4107)
  • runtime: add tracing span for block_on futures (#4094)
  • runtime: callback when a worker parks and unparks (#4070)
  • sync: implement try_recv for mpsc channels (#4113)

Changed

  • macros: run runtime inside LocalSet when using macro (#4027)

Documented

  • docs: clarify CPU-bound tasks on Tokio (#4105)
  • mpsc: document spurious failures on poll_recv (#4117)
  • mpsc: document that PollSender impls Sink (#4110)
  • task: document non-guarantees of yield_now (#4091)
  • time: document paused time details better (#4061, #4103)

Tokio v1.11.0

31 Aug 21:29
9a97eb3
Compare
Choose a tag to compare

1.11.0 (August 31, 2021)

Fixed

  • time: don't panic when Instant is not monotonic (#4044)
  • io: fix panic in fill_buf by not calling poll_fill_buf twice (#4084)

Added

  • watch: add watch::Sender::subscribe (#3800)
  • process: add from_std to ChildStd* (#4045)
  • stats: initial work on runtime stats (#4043)

Changed

  • tracing: change span naming to new console convention (#4042)
  • io: speed-up waking by using uninitialized array (#4055, #4071, #4075)

Documented

  • time: make Sleep examples easier to find (#4040)

Tokio v1.10.1

24 Aug 16:03
Compare
Choose a tag to compare

1.10.1 (August 24, 2021)

Fixed

  • runtime: fix leak in UnownedTask (#4063)

Tokio v1.10.0

12 Aug 20:04
c0974ba
Compare
Choose a tag to compare

1.10.0 (August 12, 2021)

Added

  • io: add (read|write)_f(32|64)[_le] methods (#4022)
  • io: add fill_buf and consume to AsyncBufReadExt (#3991)
  • process: add Child::raw_handle() on windows (#3998)

Fixed

  • doc: fix non-doc builds with --cfg docsrs (#4020)
  • io: flush eagerly in io::copy (#4001)
  • runtime: a debug assert was sometimes triggered during shutdown (#4005)
  • sync: use spin_loop_hint instead of yield_now in mpsc (#4037)
  • tokio: the test-util feature depends on rt, sync, and time (#4036)

Changes

  • runtime: reorganize parts of the runtime (#3979, #4005)
  • signal: make windows docs for signal module show up on unix builds (#3770)
  • task: quickly send task to heap on debug mode (#4009)

Documented

  • io: document cancellation safety of AsyncBufReadExt (#3997)
  • sync: document when watch::send fails (#4021)

Tokio v1.8.3

26 Jul 18:58
Compare
Choose a tag to compare

1.8.3 (July 22, 2021)

This release backports two fixes from 1.9.0

Fixed

  • Fix leak if output of future panics on drop (#3967)
  • Fix leak in LocalSet (#3978)

Tokio v1.9.0

22 Jul 10:06
b280c6d
Compare
Choose a tag to compare

1.9.0 (July 19, 2021)

Added

  • net: allow customized I/O operations for TcpStream (#3888)
  • sync: add getter for the mutex from a guard (#3928)
  • task: expose nameable future for TaskLocal::scope (#3273)

Fixed

  • Fix leak if output of future panics on drop (#3967)
  • Fix leak in LocalSet (#3978)

Changes

Tokio 1.8.2

19 Jul 18:21
Compare
Choose a tag to compare

Fixes a missed edge case from 1.8.1.

Fixed

  • runtime: drop canceled future on next poll (#3965)