Skip to content

Releases: tokio-rs/tokio

Tokio v1.43.0

08 Jan 15:59
5f3296d
Compare
Choose a tag to compare

1.43.0 (Jan 8th, 2025)

Added

  • net: add UdpSocket::peek methods (#7068)
  • net: add support for Haiku OS (#7042)
  • process: add Command::into_std() (#7014)
  • signal: add SignalKind::info on illumos (#6995)
  • signal: add support for realtime signals on illumos (#7029)

Fixed

  • io: don't call set_len before initializing vector in Blocking (#7054)
  • macros: suppress clippy::needless_return in #[tokio::main] (#6874)
  • runtime: fix thread parking on WebAssembly (#7041)

Changes

  • chore: use unsync loads for unsync_load (#7073)
  • io: use Buf::put_bytes in Repeat read impl (#7055)
  • task: drop the join waker of a task eagerly (#6986)

Changes to unstable APIs

  • metrics: improve flexibility of H2Histogram Configuration (#6963)
  • taskdump: add accessor methods for backtrace (#6975)

Documented

  • io: clarify ReadBuf::uninit allows initialized buffers as well (#7053)
  • net: fix ambiguity in TcpStream::try_write_vectored docs (#7067)
  • runtime: fix LocalRuntime doc links (#7074)
  • sync: extend documentation for watch::Receiver::wait_for (#7038)
  • sync: fix typos in OnceCell docs (#7047)

Tokio v1.42.0

03 Dec 13:50
bb9d570
Compare
Choose a tag to compare

1.42.0 (Dec 3rd, 2024)

Added

  • io: add AsyncFd::{try_io, try_io_mut} (#6967)

Fixed

  • io: avoid ptr->ref->ptr roundtrip in RegistrationSet (#6929)
  • runtime: do not defer yield_now inside block_in_place (#6999)

Changes

  • io: simplify io readiness logic (#6966)

Documented

  • net: fix docs for tokio::net::unix::{pid_t, gid_t, uid_t} (#6791)
  • time: fix a typo in Instant docs (#6982)

Tokio v1.41.1

07 Nov 10:58
bb7ca75
Compare
Choose a tag to compare

1.41.1 (Nov 7th, 2024)

Fixed

  • metrics: fix bug with wrong number of buckets for the histogram (#6957)
  • net: display net requirement for net::UdpSocket in docs (#6938)
  • net: fix typo in TcpStream internal comment (#6944)

Tokio v1.41.0

22 Oct 09:24
01e04da
Compare
Choose a tag to compare

1.41.0 (Oct 22th, 2024)

Added

  • metrics: stabilize global_queue_depth (#6854, #6918)
  • net: add conversions for unix SocketAddr (#6868)
  • sync: add watch::Sender::sender_count (#6836)
  • sync: add mpsc::Receiver::blocking_recv_many (#6867)
  • task: stabilize Id apis (#6793, #6891)

Added (unstable)

  • metrics: add H2 Histogram option to improve histogram granularity (#6897)
  • metrics: rename some histogram apis (#6924)
  • runtime: add LocalRuntime (#6808)

Changed

  • runtime: box futures larger than 16k on release mode (#6826)
  • sync: add #[must_use] to Notified (#6828)
  • sync: make watch cooperative (#6846)
  • sync: make broadcast::Receiver cooperative (#6870)
  • task: add task size to tracing instrumentation (#6881)
  • wasm: enable cfg_fs for wasi target (#6822)

Fixed

  • net: fix regression of abstract socket path in unix socket (#6838)

Documented

  • io: recommend OwnedFd with AsyncFd (#6821)
  • io: document cancel safety of AsyncFd methods (#6890)
  • macros: render more comprehensible documentation for join and try_join (#6814, #6841)
  • net: fix swapped examples for TcpSocket::set_nodelay and TcpSocket::nodelay (#6840)
  • sync: document runtime compatibility (#6833)

Tokio v1.40.0

30 Aug 08:04
ea6d652
Compare
Choose a tag to compare

1.40.0 (August 30th, 2024)

Added

  • io: add util::SimplexStream (#6589)
  • process: stabilize Command::process_group (#6731)
  • sync: add {TrySendError,SendTimeoutError}::into_inner (#6755)
  • task: add JoinSet::join_all (#6784)

Added (unstable)

  • runtime: add Builder::{on_task_spawn, on_task_terminate} (#6742)

Changed

  • io: use vectored io for write_all_buf when possible (#6724)
  • runtime: prevent niche-optimization to avoid triggering miri (#6744)
  • sync: mark mpsc types as UnwindSafe (#6783)
  • sync,time: make Sleep and BatchSemaphore instrumentation explicit roots (#6727)
  • task: use NonZeroU64 for task::Id (#6733)
  • task: include panic message when printing JoinError (#6753)
  • task: add #[must_use] to JoinHandle::abort_handle (#6762)
  • time: eliminate timer wheel allocations (#6779)

Documented

  • docs: clarify that [build] section doesn't go in Cargo.toml (#6728)
  • io: clarify zero remaining capacity case (#6790)
  • macros: improve documentation for select! (#6774)
  • sync: document mpsc channel allocation behavior (#6773)

Tokio v1.39.3

17 Aug 17:31
3d439ab
Compare
Choose a tag to compare

1.39.3 (August 17th, 2024)

This release fixes a regression where the unix socket api stopped accepting the abstract socket namespace. (#6772)

Tokio v1.39.2

27 Jul 10:37
f602eae
Compare
Choose a tag to compare

1.39.2 (July 27th, 2024)

This release fixes a regression where the select! macro stopped accepting expressions that make use of temporary lifetime extension. (#6722)

Tokio v1.39.1

23 Jul 16:29
f8fe0ff
Compare
Choose a tag to compare

1.39.1 (July 23rd, 2024)

This release reverts "time: avoid traversing entries in the time wheel twice" because it contains a bug. (#6715)

Tokio v1.39.0

23 Jul 13:31
48e35c1
Compare
Choose a tag to compare

1.39.0 (July 23rd, 2024)

  • This release bumps the MSRV to 1.70. (#6645)
  • This release upgrades to mio v1. (#6635)
  • This release upgrades to windows-sys v0.52 (#6154)

Added

  • io: implement AsyncSeek for Empty (#6663)
  • metrics: stabilize num_alive_tasks (#6619, #6667)
  • process: add Command::as_std_mut (#6608)
  • sync: add watch::Sender::same_channel (#6637)
  • sync: add {Receiver,UnboundedReceiver}::{sender_strong_count,sender_weak_count} (#6661)
  • sync: implement Default for watch::Sender (#6626)
  • task: implement Clone for AbortHandle (#6621)
  • task: stabilize consume_budget (#6622)

Changed

  • io: improve panic message of ReadBuf::put_slice() (#6629)
  • io: read during write in copy_bidirectional and copy (#6532)
  • runtime: replace num_cpus with available_parallelism (#6709)
  • task: avoid stack overflow when passing large future to block_on (#6692)
  • time: avoid traversing entries in the time wheel twice (#6584)
  • time: support IntoFuture with timeout (#6666)
  • macros: support IntoFuture with join! and select! (#6710)

Fixed

  • docs: fix docsrs builds with the fs feature enabled (#6585)
  • io: only use short-read optimization on known-to-be-compatible platforms (#6668)
  • time: fix overflow panic when using large durations with Interval (#6612)

Added (unstable)

  • macros: allow unhandled_panic behavior for #[tokio::main] and #[tokio::test] (#6593)
  • metrics: add spawned_tasks_count (#6114)
  • metrics: add worker_park_unpark_count (#6696)
  • metrics: add worker thread id (#6695)

Documented

  • io: update tokio::io::stdout documentation (#6674)
  • macros: typo fix in join.rs and try_join.rs (#6641)
  • runtime: fix typo in unhandled_panic (#6660)
  • task: document behavior of JoinSet::try_join_next when all tasks are running (#6671)

Tokio v1.38.1

16 Jul 17:23
14b9f71
Compare
Choose a tag to compare

1.38.1 (July 16th, 2024)

This release fixes the bug identified as (#6682), which caused timers not
to fire when they should.

Fixed

  • time: update wake_up while holding all the locks of sharded time wheels (#6683)