Skip to content

Releases: tokio-rs/tokio

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)

Tokio v1.27.0

27 Mar 21:57
1df874e
Compare
Choose a tag to compare

1.27.0 (March 27th, 2023)

This release bumps the MSRV of Tokio to 1.56. (#5559)

Added

  • io: add async_io helper method to sockets (#5512)
  • io: add implementations of AsFd/AsHandle/AsSocket (#5514, #5540)
  • net: add UdpSocket::peek_sender() (#5520)
  • sync: add RwLockWriteGuard::{downgrade_map, try_downgrade_map} (#5527)
  • task: add JoinHandle::abort_handle (#5543)

Changed

  • io: use memchr from libc (#5558)
  • macros: accept path as crate rename in #[tokio::main] (#5557)
  • macros: update to syn 2.0.0 (#5572)
  • time: don't register for a wakeup when Interval returns Ready (#5553)

Fixed

  • fs: fuse std iterator in ReadDir (#5555)
  • tracing: fix spawn_blocking location fields (#5573)
  • time: clean up redundant check in Wheel::poll() (#5574)

Documented

  • macros: define cancellation safety (#5525)
  • io: add details to docs of tokio::io::copy[_buf] (#5575)
  • io: refer to ReaderStream and StreamReader in module docs (#5576)

Tokio v1.26.0

01 Mar 22:13
a377240
Compare
Choose a tag to compare

Fixed

  • macros: fix empty join! and try_join! (#5504)
  • sync: don't leak tracing spans in mutex guards (#5469)
  • sync: drop wakers after unlocking the mutex in Notify (#5471)
  • sync: drop wakers outside lock in semaphore (#5475)

Added

  • fs: add fs::try_exists (#4299)
  • net: add types for named unix pipes (#5351)
  • sync: add MappedOwnedMutexGuard (#5474)

Changed

  • chore: update windows-sys to 0.45 (#5386)
  • net: use Message Read Mode for named pipes (#5350)
  • sync: mark lock guards with #[clippy::has_significant_drop] (#5422)
  • sync: reduce contention in watch channel (#5464)
  • time: remove cache padding in timer entries (#5468)
  • time: Improve Instant::now() perf with test-util (#5513)

Internal Changes

  • io: use poll_fn in copy_bidirectional (#5486)
  • net: refactor named pipe builders to not use bitfields (#5477)
  • rt: remove Arc from Clock (#5434)
  • sync: make notify_waiters calls atomic (#5458)
  • time: don't store deadline twice in sleep entries (#5410)

Unstable

  • metrics: add a new metric for budget exhaustion yields (#5517)

Documented

  • io: improve AsyncFd example (#5481)
  • runtime: document the nature of the main future (#5494)
  • runtime: remove extra period in docs (#5511)
  • signal: updated Documentation for Signals (#5459)
  • sync: add doc aliases for blocking_* methods (#5448)
  • sync: fix docs for Send/Sync bounds in broadcast (#5480)
  • sync: document drop behavior for channels (#5497)
  • task: clarify what happens to spawned work during runtime shutdown (#5394)
  • task: clarify process::Command docs (#5413)
  • task: fix wording with 'unsend' (#5452)
  • time: document immediate completion guarantee for timeouts (#5509)
  • tokio: document supported platforms (#5483)