Tokio Versions Save

A runtime for writing reliable asynchronous applications with Rust. Provides I/O, networking, scheduling, timers, ...

tokio-1.37.0

3 weeks ago

1.37.0 (March 28th, 2024)

Added

  • fs: add set_max_buf_size to tokio::fs::File (#6411)
  • io: add try_new and try_with_interest to AsyncFd (#6345)
  • sync: add forget_permits method to semaphore (#6331)
  • sync: add is_closed, is_empty, and len to mpsc receivers (#6348)
  • sync: add a rwlock() method to owned RwLock guards (#6418)
  • sync: expose strong and weak counts of mpsc sender handles (#6405)
  • sync: implement Clone for watch::Sender (#6388)
  • task: add TaskLocalFuture::take_value (#6340)
  • task: implement FromIterator for JoinSet (#6300)

Changed

  • io: make io::split use a mutex instead of a spinlock (#6403)

Fixed

  • docs: fix docsrs build without net feature (#6360)
  • macros: allow select with only else branch (#6339)
  • runtime: fix leaking registration entries when os registration fails (#6329)

Documented

  • io: document cancel safety of AsyncBufReadExt::fill_buf (#6431)
  • io: document cancel safety of AsyncReadExt's primitive read functions (#6337)
  • runtime: add doc link from Runtime to #[tokio::main] (#6366)
  • runtime: make the enter example deterministic (#6351)
  • sync: add Semaphore example for limiting the number of outgoing requests (#6419)
  • sync: fix missing period in broadcast docs (#6377)
  • sync: mark mpsc::Sender::downgrade with #[must_use] (#6326)
  • sync: reorder const_new before new_with (#6392)
  • sync: update watch channel docs (#6395)
  • task: fix documentation links (#6336)

Changed (unstable)

  • runtime: include task Id in taskdumps (#6328)
  • runtime: panic if unhandled_panic is enabled when not supported (#6410)

tokio-1.36.0

2 months ago

1.36.0 (February 2nd, 2024)

Added

  • io: add tokio::io::Join (#6220)
  • io: implement AsyncWrite for Empty (#6235)
  • net: add support for anonymous unix pipes (#6127)
  • net: add UnixSocket (#6290)
  • net: expose keepalive option on TcpSocket (#6311)
  • sync: add {Receiver,UnboundedReceiver}::poll_recv_many (#6236)
  • sync: add Sender::{try_,}reserve_many (#6205)
  • sync: add watch::Receiver::mark_unchanged (#6252)
  • task: add JoinSet::try_join_next (#6280)

Changed

  • io: make copy cooperative (#6265)
  • io: make repeat and sink cooperative (#6254)
  • io: simplify check for empty slice (#6293)
  • process: use pidfd on Linux when available (#6152)
  • sync: use AtomicBool in broadcast channel future (#6298)

Documented

  • io: clarify clear_ready docs (#6304)
  • net: document that *Fd traits on TcpSocket are unix-only (#6294)
  • sync: document FIFO behavior of tokio::sync::Mutex (#6279)
  • chore: typographic improvements (#6262)
  • runtime: remove obsolete comment (#6303)
  • task: fix typo (#6261)

tokio-1.35.1

3 months ago

1.35.1 (December 19, 2023)

This is a forward part of a change that was backported to 1.25.3.

Fixed

  • io: add budgeting to tokio::runtime::io::registration::async_io (#6221)

tokio-1.32.1

3 months ago

1.32.1 (December 19, 2023)

This is a forward part of a change that was backported to 1.25.3.

Fixed

  • io: add budgeting to tokio::runtime::io::registration::async_io (#6221)

tokio-1.25.3

3 months ago

1.25.3 (December 17th, 2023)

Fixed

  • io: add budgeting to tokio::runtime::io::registration::async_io (#6221)

tokio-1.35.0

4 months ago

1.35.0 (December 8th, 2023)

Added

  • net: add Apple watchOS support (#6176)

Changed

  • io: drop the Sized requirements from AsyncReadExt.read_buf (#6169)
  • runtime: make Runtime unwind safe (#6189)
  • runtime: reduce the lock contention in task spawn (#6001)
  • tokio: update nix dependency to 0.27.1 (#6190)

Fixed

  • chore: make --cfg docsrs work without net feature (#6166)
  • chore: use relaxed load for unsync_load on miri (#6179)
  • runtime: handle missing context on wake (#6148)
  • taskdump: fix taskdump cargo config example (#6150)
  • taskdump: skip notified tasks during taskdumps (#6194)
  • tracing: avoid creating resource spans with current parent, use a None parent instead (#6107)
  • tracing: make task span explicit root (#6158)

Documented

  • io: flush in AsyncWriteExt examples (#6149)
  • runtime: document fairness guarantees and current behavior (#6145)
  • task: document cancel safety of LocalSet::run_until (#6147)

tokio-1.34.0

5 months ago

Fixed

  • io: allow clear_readiness after io driver shutdown (#6067)
  • io: fix integer overflow in take (#6080)
  • io: fix I/O resource hang (#6134)
  • sync: fix broadcast::channel link (#6100)

Changed

  • macros: use ::core qualified imports instead of ::std inside tokio::test macro (#5973)

Added

  • fs: update cfg attr in fs::read_dir to include aix (#6075)
  • sync: add mpsc::Receiver::recv_many (#6010)
  • tokio: added vita target support (#6094)

tokio-1.33.0

6 months ago

1.33.0 (October 9, 2023)

Fixed

  • io: mark Interest::add with #[must_use] (#6037)
  • runtime: fix cache line size for RISC-V (#5994)
  • sync: prevent lock poisoning in watch::Receiver::wait_for (#6021)
  • task: fix spawn_local source location (#5984)

Changed

  • sync: use Acquire/Release orderings instead of SeqCst in watch (#6018)

Added

  • fs: add vectored writes to tokio::fs::File (#5958)
  • io: add Interest::remove method (#5906)
  • io: add vectored writes to DuplexStream (#5985)
  • net: add Apple tvOS support (#6045)
  • sync: add ?Sized bound to {MutexGuard,OwnedMutexGuard}::map (#5997)
  • sync: add watch::Receiver::mark_unseen (#5962, #6014, #6017)
  • sync: add watch::Sender::new (#5998)
  • sync: add const fn OnceCell::from_value (#5903)

Removed

  • remove unused stats feature (#5952)

Documented

  • add missing backticks in code examples (#5938, #6056)
  • fix typos (#5988, #6030)
  • process: document that Child::wait is cancel safe (#5977)
  • sync: add examples for Semaphore (#5939, #5956, #5978, #6031, #6032, #6050)
  • sync: document that broadcast capacity is a lower bound (#6042)
  • sync: document that const_new is not instrumented (#6002)
  • sync: improve cancel-safety documentation for mpsc::Sender::send (#5947)
  • sync: improve docs for watch channel (#5954)
  • taskdump: render taskdump documentation on docs.rs (#5972)

Unstable

  • taskdump: fix potential deadlock (#6036)

tokio-1.25.2

6 months ago

1.25.2 (September 22, 2023)

Forward ports 1.20.6 changes.

Changed

  • io: use memchr from libc (#5960)

tokio-1.20.6

6 months ago

1.20.6 (September 22, 2023)

This is a backport of a change from 1.27.0.

Changed

  • io: use memchr from libc (#5960)