Skip to content

Tokio v1.18.0

Compare
Choose a tag to compare
@hawkw hawkw released this 27 Apr 17:31
· 903 commits to master since this release
4818343

1.18.0 (April 27, 2022)

This release adds a number of new APIs in tokio::net, tokio::signal, and
tokio::sync. In addition, it adds new unstable APIs to tokio::task (Ids
for uniquely identifying a task, and AbortHandle for remotely cancelling a
task), as well as a number of bugfixes.

Fixed

  • blocking: add missing #[track_caller] for spawn_blocking (#4616)
  • macros: fix select macro to process 64 branches (#4519)
  • net: fix try_io methods not calling Mio's try_io internally (#4582)
  • runtime: recover when OS fails to spawn a new thread (#4485)

Added

  • net: add UdpSocket::peer_addr (#4611)
  • net: add try_read_buf method for named pipes (#4626)
  • signal: add SignalKind Hash/Eq impls and c_int conversion (#4540)
  • signal: add support for signals up to SIGRTMAX (#4555)
  • sync: add watch::Sender::send_modify method (#4310)
  • sync: add broadcast::Receiver::len method (#4542)
  • sync: add watch::Receiver::same_channel method (#4581)
  • sync: implement Clone for RecvError types (#4560)

Changed

  • update mio to 0.8.1 (#4582)
  • macros: rename tokio::select!'s internal util module (#4543)
  • runtime: use Vec::with_capacity when building runtime (#4553)

Documented

  • improve docs for tokio_unstable (#4524)
  • runtime: include more documentation for thread_pool/worker (#4511)
  • runtime: update Handle::current's docs to mention EnterGuard (#4567)
  • time: clarify platform specific timer resolution (#4474)
  • signal: document that Signal::recv is cancel-safe (#4634)
  • sync: UnboundedReceiver close docs (#4548)

Unstable

The following changes only apply when building with --cfg tokio_unstable:

  • task: add task::Id type (#4630)
  • task: add AbortHandle type for cancelling tasks in a JoinSet (#4530],
    [#4640)
  • task: fix missing doc(cfg(...)) attributes for JoinSet (#4531)
  • task: fix broken link in AbortHandle RustDoc (#4545)
  • metrics: add initial IO driver metrics (#4507)