Skip to content

Releases: tokio-rs/tokio

Tokio v1.31.0

12 Aug 16:40
8b8005e
Compare
Choose a tag to compare

Fixed

  • io: delegate WriteHalf::poll_write_vectored (#5914)

Unstable

  • rt(unstable): fix memory leak in unstable next-gen scheduler prototype (#5911)
  • rt: expose mean task poll time metric (#5927)

Tokio v1.30.0

09 Aug 15:38
4c220af
Compare
Choose a tag to compare

1.30.0 (August 9, 2023)

This release bumps the MSRV of Tokio to 1.63. (#5887)

Changed

  • tokio: reduce LLVM code generation (#5859)
  • io: support --cfg mio_unsupported_force_poll_poll flag (#5881)
  • sync: make const_new methods always available (#5885)
  • sync: avoid false sharing in mpsc channel (#5829)
  • rt: pop at least one task from inject queue (#5908)

Added

  • sync: add broadcast::Sender::new (#5824)
  • net: implement UCred for espidf (#5868)
  • fs: add File::options() (#5869)
  • time: implement extra reset variants for Interval (#5878)
  • process: add {ChildStd*}::into_owned_{fd, handle} (#5899)

Removed

  • tokio: removed unused tokio_* cfgs (#5890)
  • remove build script to speed up compilation (#5887)

Documented

  • sync: mention lagging in docs for broadcast::send (#5820)
  • runtime: expand on sharing runtime docs (#5858)
  • io: use vec in example for AsyncReadExt::read_exact (#5863)
  • time: mark Sleep as !Unpin in docs (#5916)
  • process: fix raw_arg not showing up in docs (#5865)

Unstable

  • rt: add runtime ID (#5864)
  • rt: initial implementation of new threaded runtime (#5823)

Tokio v1.29.1

29 Jun 22:05
1b1b9dc
Compare
Choose a tag to compare

Fixed

  • rt: fix nesting two block_in_place with a block_on between (#5837)

Tokio v1.29.0

27 Jun 20:40
48c5576
Compare
Choose a tag to compare

Technically a breaking change, the Send implementation is removed from
runtime::EnterGuard. This change fixes a bug and should not impact most users.

Breaking

  • rt: EnterGuard should not be Send (#5766)

Fixed

  • fs: reduce blocking ops in fs::read_dir (#5653)
  • rt: fix possible starvation (#5686, #5712)
  • rt: fix stacked borrows issue in JoinSet (#5693)
  • rt: panic if EnterGuard dropped incorrect order (#5772)
  • time: do not overflow to signal value (#5710)
  • fs: wait for in-flight ops before cloning File (#5803)

Changed

  • rt: reduce time to poll tasks scheduled from outside the runtime (#5705, #5720)

Added

  • net: add uds doc alias for unix sockets (#5659)
  • rt: add metric for number of tasks (#5628)
  • sync: implement more traits for channel errors (#5666)
  • net: add nodelay methods on TcpSocket (#5672)
  • sync: add broadcast::Receiver::blocking_recv (#5690)
  • process: add raw_arg method to Command (#5704)
  • io: support PRIORITY epoll events (#5566)
  • task: add JoinSet::poll_join_next (#5721)
  • net: add support for Redox OS (#5790)

Unstable

  • rt: add the ability to dump task backtraces (#5608, #5676, #5708, #5717)
  • rt: instrument task poll times with a histogram (#5685)

Tokio v1.28.2

28 May 09:14
e87ff8a
Compare
Choose a tag to compare

1.28.2 (May 28, 2023)

Forward ports 1.18.6 changes.

Fixed

  • deps: disable default features for mio (#5728)

Tokio v1.25.1

27 May 21:19
25258d5
Compare
Choose a tag to compare

1.25.1 (May 28, 2023)

Forward ports 1.18.6 changes.

Fixed

  • deps: disable default features for mio (#5728)

Tokio v1.20.5

27 May 21:18
edd172c
Compare
Choose a tag to compare

1.20.5 (May 28, 2023)

Forward ports 1.18.6 changes.

Fixed

  • deps: disable default features for mio (#5728)

Tokio v1.18.6

27 May 21:17
0f898a3
Compare
Choose a tag to compare

1.18.6 (May 28, 2023)

Fixed

  • deps: disable default features for mio (#5728)

Tokio v1.28.1

10 May 09:35
a26fc9c
Compare
Choose a tag to compare

1.28.1 (May 10th, 2023)

This release fixes a mistake in the build script that makes AsFd implementations unavailable on Rust 1.63. (#5677)

Tokio v1.28.0

25 Apr 18:25
f21d596
Compare
Choose a tag to compare

1.28.0 (April 25th, 2023)

Added

  • io: add AsyncFd::async_io (#5542)
  • io: impl BufMut for ReadBuf (#5590)
  • net: add recv_buf for UdpSocket and UnixDatagram (#5583)
  • sync: add OwnedSemaphorePermit::semaphore (#5618)
  • sync: add same_channel to broadcast channel (#5607)
  • sync: add watch::Receiver::wait_for (#5611)
  • task: add JoinSet::spawn_blocking and JoinSet::spawn_blocking_on (#5612)

Changed

  • deps: update windows-sys to 0.48 (#5591)
  • io: make read_to_end not grow unnecessarily (#5610)
  • macros: make entrypoints more efficient (#5621)
  • sync: improve Debug impl for RwLock (#5647)
  • sync: reduce contention in Notify (#5503)

Fixed

  • net: support get_peer_cred on AIX (#5065)
  • sync: avoid deadlocks in broadcast with custom wakers (#5578)

Documented

  • sync: fix typo in Semaphore::MAX_PERMITS (#5645)
  • sync: fix typo in tokio::sync::watch::Sender docs (#5587)