Update Rust crate tokio to 1.21 - autoclosed #6

Closed
kjuulh wants to merge 1 commits from renovate/tokio-1.x into main
Owner

This PR contains the following updates:

Package Type Update Change
tokio (source) dependencies minor 1.0 -> 1.21

Release Notes

tokio-rs/tokio

v1.21.2

1.21.2 (September 27, 2022)

This release removes the dependency on the once_cell crate to restore the MSRV of 1.21.x, which is the latest minor version at the time of release. (#​5048)

v1.21.1

1.21.1 (September 13, 2022)
Fixed
  • net: fix dependency resolution for socket2 (#​5000)
  • task: ignore failure to set TLS in LocalSet Drop (#​4976)

v1.21.0

1.21.0 (September 2, 2022)

This release is the first release of Tokio to intentionally support WASM. The sync,macros,io-util,rt,time features are stabilized on WASM. Additionally the wasm32-wasi target is given unstable support for the net feature.

Added
  • net: add device and bind_device methods to TCP/UDP sockets (#​4882)
  • net: add tos and set_tos methods to TCP and UDP sockets (#​4877)
  • net: add security flags to named pipe ServerOptions (#​4845)
  • signal: add more windows signal handlers (#​4924)
  • sync: add mpsc::Sender::max_capacity method (#​4904)
  • sync: implement Weak version of mpsc::Sender (#​4595)
  • task: add LocalSet::enter (#​4765)
  • task: stabilize JoinSet and AbortHandle (#​4920)
  • tokio: add track_caller to public APIs (#​4805, #​4848, #​4852)
  • wasm: initial support for wasm32-wasi target (#​4716)
Fixed
  • miri: improve miri compatibility by avoiding temporary references in linked_list::Link impls (#​4841)
  • signal: don't register write interest on signal pipe (#​4898)
  • sync: add #[must_use] to lock guards (#​4886)
  • sync: fix hang when calling recv on closed and reopened broadcast channel (#​4867)
  • task: propagate attributes on task-locals (#​4837)
Changed
  • fs: change panic to error in File::start_seek (#​4897)
  • io: reduce syscalls in poll_read (#​4840)
  • process: use blocking threadpool for child stdio I/O (#​4824)
  • signal: make SignalKind methods const (#​4956)
Internal changes
  • rt: extract basic_scheduler::Config (#​4935)
  • rt: move I/O driver into runtime module (#​4942)
  • rt: rename internal scheduler types (#​4945)
Documented
  • chore: fix typos and grammar (#​4858, #​4894, #​4928)
  • io: fix typo in AsyncSeekExt::rewind docs (#​4893)
  • net: add documentation to try_read() for zero-length buffers (#​4937)
  • runtime: remove incorrect panic section for Builder::worker_threads (#​4849)
  • sync: doc of watch::Sender::send improved (#​4959)
  • task: add cancel safety docs to JoinHandle (#​4901)
  • task: expand on cancellation of spawn_blocking (#​4811)
  • time: clarify that the first tick of Interval::tick happens immediately (#​4951)
Unstable
  • rt: add unstable option to disable the LIFO slot (#​4936)
  • task: fix incorrect signature in Builder::spawn_on (#​4953)
  • task: make task::Builder::spawn* methods fallible (#​4823)

v1.20.2

1.20.2 (September 27, 2022)

This release removes the dependency on the once_cell crate to restore the MSRV of the 1.20.x LTS release. (#​5048)

v1.20.1

1.20.1 (July 25, 2022)
Fixed
  • chore: fix version detection in build script (#​4860)

v1.20.0

1.20.0 (July 12, 2022)
Added
Changed
  • time: remove src/time/driver/wheel/stack.rs (#​4766)
  • rt: clean up arguments passed to basic scheduler (#​4767)
  • net: be more specific about winapi features (#​4764)
  • tokio: use const initialized thread locals where possible (#​4677)
  • task: various small improvements to LocalKey (#​4795)
Fixed
Documented
  • fs: warn about performance pitfall (#​4762)
  • chore: fix spelling (#​4769)
  • sync: document spurious failures in oneshot (#​4777)
  • sync: add warning for watch in non-Send futures (#​4741)
  • chore: fix typo (#​4798)
Unstable
  • joinset: rename join_one to join_next (#​4755)
  • rt: unhandled panic config for current thread rt (#​4770)

v1.19.2

1.19.2 (June 6, 2022)

This release fixes another bug in Notified::enable. (#​4751)

v1.19.1

1.19.1 (June 5, 2022)

This release fixes a bug in Notified::enable. (#​4747)

v1.19.0

1.19.0 (June 3, 2022)
Added
  • runtime: add is_finished method for JoinHandle and AbortHandle (#​4709)
  • runtime: make global queue and event polling intervals configurable (#​4671)
  • sync: add Notified::enable (#​4705)
  • sync: add watch::Sender::send_if_modified (#​4591)
  • sync: add resubscribe method to broadcast::Receiver (#​4607)
  • net: add take_error to TcpSocket and TcpStream (#​4739)
Changed
  • io: refactor out usage of Weak in the io handle (#​4656)
Fixed
  • macros: avoid starvation in join! and try_join! (#​4624)
Documented
  • runtime: clarify semantics of tasks outliving block_on (#​4729)
  • time: fix example for MissedTickBehavior::Burst (#​4713)
Unstable
  • metrics: correctly update atomics in IoDriverMetrics (#​4725)
  • metrics: fix compilation with unstable, process, and rt, but without net (#​4682)
  • task: add #[track_caller] to JoinSet/JoinMap (#​4697)
  • task: add Builder::{spawn_on, spawn_local_on, spawn_blocking_on} (#​4683)
  • task: add consume_budget for cooperative scheduling (#​4498)
  • task: add join_set::Builder for configuring JoinSet tasks (#​4687)
  • task: update return value of JoinSet::join_one (#​4726)

v1.18.3

1.18.3 (September 27, 2022)

This release removes the dependency on the once_cell crate to restore the MSRV of the 1.18.x LTS release. (#​5048)

v1.18.2

1.18.2 (May 5, 2022)

Add missing features for the winapi dependency. (#​4663)

v1.18.1

1.18.1 (May 2, 2022)

The 1.18.0 release broke the build for targets without 64-bit atomics when building with tokio_unstable. This release fixes that. (#​4649)

v1.18.0

Compare Source

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](https://github.com/tokio-rs/tokio/issues/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)

v1.17.0

Compare Source

1.17.0 (February 15, 2022)

This release updates the minimum supported Rust version (MSRV) to 1.49,
the mio dependency to v0.8, and the (optional) parking_lot
dependency to v0.12. Additionally, it contains several bug fixes, as
well as internal refactoring and performance improvements.

Fixed
  • time: prevent panicking in sleep with large durations (#​4495)
  • time: eliminate potential panics in Instant arithmetic on platforms
    where Instant::now is not monotonic (#​4461)
  • io: fix DuplexStream not participating in cooperative yielding
    (#​4478)
  • rt: fix potential double panic when dropping a JoinHandle (#​4430)
Changed
  • update minimum supported Rust version to 1.49 (#​4457)
  • update parking_lot dependency to v0.12.0 (#​4459)
  • update mio dependency to v0.8 (#​4449)
  • rt: remove an unnecessary lock in the blocking pool (#​4436)
  • rt: remove an unnecessary enum in the basic scheduler (#​4462)
  • time: use bit manipulation instead of modulo to improve performance
    (#​4480)
  • net: use std::future::Ready instead of our own Ready future
    (#​4271)
  • replace deprecated atomic::spin_loop_hint with hint::spin_loop
    (#​4491)
  • fix miri failures in intrusive linked lists (#​4397)
Documented
  • io: add an example for tokio::process::ChildStdin (#​4479)
Unstable

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

  • task: fix missing location information in tracing spans generated by
    spawn_local (#​4483)
  • task: add JoinSet for managing sets of tasks (#​4335)
  • metrics: fix compilation error on MIPS (#​4475)
  • metrics: fix compilation error on arm32v7 (#​4453)

v1.16.1

Compare Source

1.16.1 (January 28, 2022)

This release fixes a bug in #​4428 with the change #​4437.

v1.16.0

Compare Source

Fixes a soundness bug in io::Take (#​4428). The unsoundness is exposed when
leaking memory in the given AsyncRead implementation and then overwriting the
supplied buffer:

impl AsyncRead for Buggy {
    fn poll_read(
        self: Pin<&mut Self>,
        cx: &mut Context<'_>,
        buf: &mut ReadBuf<'_>
    ) -> Poll<Result<()>> {
      let new_buf = vec![0; 5].leak();
      *buf = ReadBuf::new(new_buf);
      buf.put_slice(b"hello");
      Poll::Ready(Ok(()))
    }
}

Also, this release includes improvements to the multi-threaded scheduler that
can increase throughput by up to 20% in some cases (#​4383).

Fixed
  • io: soundness don't expose uninitialized memory when using io::Take in edge case (#​4428)
  • fs: ensure File::write results in a write syscall when the runtime shuts down (#​4316)
  • process: drop pipe after child exits in wait_with_output (#​4315)
  • rt: improve error message when spawning a thread fails (#​4398)
  • rt: reduce false-positive thread wakups in the multi-threaded scheduler (#​4383)
  • sync: don't inherit Send from parking_lot::*Guard (#​4359)
Added
  • net: TcpSocket::linger() and set_linger() (#​4324)
  • net: impl UnwindSafe for socket types (#​4384)
  • rt: impl UnwindSafe for JoinHandle (#​4418)
  • sync: watch::Receiver::has_changed() (#​4342)
  • sync: oneshot::Receiver::blocking_recv() (#​4334)
  • sync: RwLock blocking operations (#​4425)
Unstable

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

  • rt: breaking change overhaul runtime metrics API (#​4373)

v1.15.0

Compare Source

Fixed
  • io: add cooperative yielding support to io::empty() (#​4300)
  • time: make timeout robust against budget-depleting tasks (#​4314)
Changed
  • update minimum supported Rust version to 1.46.
Added
  • time: add Interval::reset() (#​4248)
  • io: add explicit lifetimes to AsyncFdReadyGuard (#​4267)
  • process: add Command::as_std() (#​4295)
Added (unstable)
  • tracing: instrument tokio::sync types (#​4302)

v1.14.1

Compare Source

This release backports a bug fix from 1.16.1

Fixes a soundness bug in io::Take (#​4428). The unsoundness is exposed when
leaking memory in the given AsyncRead implementation and then overwriting the
supplied buffer:

impl AsyncRead for Buggy {
    fn poll_read(
        self: Pin<&mut Self>,
        cx: &mut Context<'_>,
        buf: &mut ReadBuf<'_>
    ) -> Poll<Result<()>> {
      let new_buf = vec![0; 5].leak();
      *buf = ReadBuf::new(new_buf);
      buf.put_slice(b"hello");
      Poll::Ready(Ok(()))
    }
}
Fixed
  • io: soundness don't expose uninitialized memory when using io::Take in edge case (#​4428)

v1.14.0

Compare Source

1.14.0 (November 15, 2021)

Fixed
  • macros: fix compiler errors when using mut patterns in select! (#​4211)
  • sync: fix a data race between oneshot::Sender::send and awaiting a
    oneshot::Receiver when the oneshot has been closed (#​4226)
  • sync: make AtomicWaker panic safe (#​3689)
  • runtime: fix basic scheduler dropping tasks outside a runtime context
    (#​4213)
Added
Changed
  • io: updated copy buffer size to match std::io::copy (#​4209)
Documented
  • io: rename buffer to file in doc-test (#​4230)
  • sync: fix Notify example (#​4212)

v1.13.1

Compare Source

1.13.1 (November 15, 2021)

This release fixes a data race when sending and receiving on a
closed oneshot channel (RUSTSEC-2021-0124).

Fixed
  • sync: fix a data race between oneshot::Sender::send and awaiting a
    oneshot::Receiver when the oneshot has been closed (#​4226)

v1.13.0

Compare Source

1.13.0 (October 29, 2021)

Fixed
  • sync: fix Notify to clone the waker before locking its waiter list (#​4129)
  • tokio: add riscv32 to non atomic64 architectures (#​4185)
Added
  • net: add poll_{recv,send}_ready methods to udp and uds_datagram (#​4131)
  • net: add try_*, readable, writable, ready, and peer_addr methods to split halves (#​4120)
  • sync: add blocking_lock to Mutex (#​4130)
  • sync: add watch::Sender::send_replace (#​3962, #​4195)
  • sync: expand Debug for Mutex<T> impl to unsized T (#​4134)
  • tracing: instrument time::Sleep (#​4072)
  • tracing: use structured location fields for spawned tasks (#​4128)
Changed
  • io: add assert in copy_bidirectional that poll_write is sensible (#​4125)
  • macros: use qualified syntax when polling in select! (#​4192)
  • runtime: handle block_on wakeups better (#​4157)
  • task: allocate callback on heap immediately in debug mode (#​4203)
  • tokio: assert platform-minimum requirements at build time (#​3797)
Documented
  • docs: conversion of doc comments to indicative mood (#​4174)
  • docs: add returning on the first error example for try_join! (#​4133)
  • docs: fixing broken links in tokio/src/lib.rs (#​4132)
  • signal: add example with background listener (#​4171)
  • sync: add more oneshot examples (#​4153)
  • time: document Interval::tick cancel safety (#​4152)

v1.12.0

Compare Source

1.12.0 (September 21, 2021)

Fixed
  • mpsc: ensure try_reserve error is consistent with try_send (#​4119)
  • mpsc: use spin_loop_hint instead of yield_now (#​4115)
  • sync: make SendError field public (#​4097)
Added
  • io: add POSIX AIO on FreeBSD (#​4054)
  • io: add convenience method AsyncSeekExt::rewind (#​4107)
  • runtime: add tracing span for block_on futures (#​4094)
  • runtime: callback when a worker parks and unparks (#​4070)
  • sync: implement try_recv for mpsc channels (#​4113)
Changed
  • macros: run runtime inside LocalSet when using macro (#​4027)
Documented
  • docs: clarify CPU-bound tasks on Tokio (#​4105)
  • mpsc: document spurious failures on poll_recv (#​4117)
  • mpsc: document that PollSender impls Sink (#​4110)
  • task: document non-guarantees of yield_now (#​4091)
  • time: document paused time details better (#​4061, #​4103)

v1.11.0

Compare Source

1.11.0 (August 31, 2021)

Fixed
  • time: don't panic when Instant is not monotonic (#​4044)
  • io: fix panic in fill_buf by not calling poll_fill_buf twice (#​4084)
Added
  • watch: add watch::Sender::subscribe (#​3800)
  • process: add from_std to ChildStd* (#​4045)
  • stats: initial work on runtime stats (#​4043)
Changed
Documented
  • time: make Sleep examples easier to find (#​4040)

v1.10.1

Compare Source

1.10.1 (August 24, 2021)

Fixed
  • runtime: fix leak in UnownedTask (#​4063)

v1.10.0

Compare Source

1.10.0 (August 12, 2021)

Added
  • io: add (read|write)_f(32|64)[_le] methods (#​4022)
  • io: add fill_buf and consume to AsyncBufReadExt (#​3991)
  • process: add Child::raw_handle() on windows (#​3998)
Fixed
  • doc: fix non-doc builds with --cfg docsrs (#​4020)
  • io: flush eagerly in io::copy (#​4001)
  • runtime: a debug assert was sometimes triggered during shutdown (#​4005)
  • sync: use spin_loop_hint instead of yield_now in mpsc (#​4037)
  • tokio: the test-util feature depends on rt, sync, and time (#​4036)
Changes
  • runtime: reorganize parts of the runtime (#​3979, #​4005)
  • signal: make windows docs for signal module show up on unix builds (#​3770)
  • task: quickly send task to heap on debug mode (#​4009)
Documented
  • io: document cancellation safety of AsyncBufReadExt (#​3997)
  • sync: document when watch::send fails (#​4021)

v1.9.0

Compare Source

1.9.0 (July 19, 2021)

Added
  • net: allow customized I/O operations for TcpStream (#​3888)
  • sync: add getter for the mutex from a guard (#​3928)
  • task: expose nameable future for TaskLocal::scope (#​3273)
Fixed
  • Fix leak if output of future panics on drop (#​3967)
  • Fix leak in LocalSet (#​3978)
Changes

v1.8.5

Compare Source

This release backports a bug fix from 1.16.1

Fixes a soundness bug in io::Take (#​4428). The unsoundness is exposed when
leaking memory in the given AsyncRead implementation and then overwriting the
supplied buffer:

impl AsyncRead for Buggy {
    fn poll_read(
        self: Pin<&mut Self>,
        cx: &mut Context<'_>,
        buf: &mut ReadBuf<'_>
    ) -> Poll<Result<()>> {
      let new_buf = vec![0; 5].leak();
      *buf = ReadBuf::new(new_buf);
      buf.put_slice(b"hello");
      Poll::Ready(Ok(()))
    }
}
Fixed
  • io: soundness don't expose uninitialized memory when using io::Take in edge case (#​4428)

v1.8.4

Compare Source

1.8.4 (November 15, 2021)

This release backports a bugfix for a data race when sending and receiving on a
closed oneshot channel ([RUSTSEC-2021-0124]) from v1.13.1.

Fixed
  • sync: fix a data race between oneshot::Sender::send and awaiting a
    oneshot::Receiver when the oneshot has been closed (#​4226)

v1.8.3

Compare Source

1.8.3 (July 22, 2021)

This release backports two fixes from 1.9.0

Fixed
  • Fix leak if output of future panics on drop (#​3967)
  • Fix leak in LocalSet (#​3978)

v1.8.2

Compare Source

Fixes a missed edge case from 1.8.1.

Fixed
  • runtime: drop canceled future on next poll (#​3965)

v1.8.1

Compare Source

Forward ports 1.5.1 fixes.

Fixed
  • runtime: remotely abort tasks on JoinHandle::abort (#​3934)

v1.8.0

Compare Source

1.8.0 (July 2, 2021)
Added
  • io: add get_{ref,mut} methods to AsyncFdReadyGuard and AsyncFdReadyMutGuard (#​3807)
  • io: efficient implementation of vectored writes for BufWriter (#​3163)
  • net: add ready/try methods to NamedPipe{Client,Server} (#​3866, #​3899)
  • sync: add watch::Receiver::borrow_and_update (#​3813)
  • sync: implement From<T> for OnceCell<T> (#​3877)
  • time: allow users to specify Interval behaviour when delayed (#​3721)
Added (unstable)
  • rt: add tokio::task::Builder (#​3881)
Fixed
  • net: handle HUP event with UnixStream (#​3898)
Documented
  • doc: document cancellation safety (#​3900)
  • time: add wait alias to sleep (#​3897)
  • time: document auto-advancing behaviour of runtime (#​3763)

v1.7.3

Compare Source

Fixes a missed edge case from 1.7.2.

Fixed
  • runtime: drop canceled future on next poll (#​3965)

v1.7.2

Compare Source

Forward ports 1.5.1 fixes.

Fixed
  • runtime: remotely abort tasks on JoinHandle::abort (#​3934)

v1.7.1

Compare Source

Fixed
  • runtime: fix early task shutdown during runtime shutdown (#​3870)

v1.7.0

Compare Source

1.7.0 (June 15, 2021)
Added
  • net: add named pipes on windows (#​3760)
  • net: add TcpSocket from std::net::TcpStream conversion (#​3838)
  • sync: add receiver_count to watch::Sender (#​3729)
  • sync: export sync::notify::Notified future publicly (#​3840)
  • tracing: instrument task wakers (#​3836)
Fixed
  • macros: suppress clippy::default_numeric_fallback lint in generated code (#​3831)
  • runtime: immediately drop new tasks when runtime is shut down (#​3752)
  • sync: deprecate unused mpsc::RecvError type (#​3833)
Documented
  • io: clarify EOF condition for AsyncReadExt::read_buf (#​3850)
  • io: clarify limits on return values of AsyncWrite::poll_write (#​3820)
  • sync: add examples to Semaphore (#​3808)

v1.6.4

Compare Source

Fixes a missed edge case from 1.6.3.

Fixed
  • runtime: drop canceled future on next poll (#​3965)

v1.6.3

Compare Source

Forward ports 1.5.1 fixes.

Fixed
  • runtime: remotely abort tasks on JoinHandle::abort (#​3934)

v1.6.2

Compare Source

Fixes
  • test: sub-ms time:advance regression introduced in 1.6 (#​3852)

v1.6.1

Compare Source

This release reverts #​3518 because it doesn't work on some kernels due to
a kernel bug. (#​3803)

v1.6.0

Compare Source

1.6.0 (May 14, 2021)
Added
  • fs: try doing a non-blocking read before punting to the threadpool (#​3518)
  • io: add write_all_buf to AsyncWriteExt (#​3737)
  • io: implement AsyncSeek for BufReader, BufWriter, and BufStream (#​3491)
  • net: support non-blocking vectored I/O (#​3761)
  • sync: add mpsc::Sender::{reserve_owned, try_reserve_owned} (#​3704)
  • sync: add a MutexGuard::map method that returns a MappedMutexGuard (#​2472)
  • time: add getter for Interval's period (#​3705)
Fixed
  • io: wake pending writers on DuplexStream close (#​3756)
  • process: avoid redundant effort to reap orphan processes (#​3743)
  • signal: use std::os::raw::c_int instead of libc::c_int on public API (#​3774)
  • sync: preserve permit state in notify_waiters (#​3660)
  • task: update JoinHandle panic message (#​3727)
  • time: prevent time::advance from going too far (#​3712)
Documented
  • net: hide net::unix::datagram module from docs (#​3775)
  • process: updated example (#​3748)
  • sync: Barrier doc should use task, not thread (#​3780)
  • task: update documentation on block_in_place (#​3753)

v1.5.1

Compare Source

Fixed
  • runtime: remotely abort tasks on JoinHandle::abort (#​3934)

v1.5.0

Compare Source

1.5.0 (April 12, 2021)

Added
  • io: add AsyncSeekExt::stream_position (#​3650)
  • io: add AsyncWriteExt::write_vectored (#​3678)
  • io: add a copy_bidirectional utility (#​3572)
  • net: implement IntoRawFd for TcpSocket (#​3684)
  • sync: add OnceCell (#​3591)
  • sync: add OwnedRwLockReadGuard and OwnedRwLockWriteGuard (#​3340)
  • sync: add Semaphore::is_closed (#​3673)
  • sync: add mpsc::Sender::capacity (#​3690)
  • sync: allow configuring RwLock max reads (#​3644)
  • task: add sync_scope for LocalKey (#​3612)
Fixed
  • chore: try to avoid noalias attributes on intrusive linked list (#​3654)
  • rt: fix panic in JoinHandle::abort() when called from other threads (#​3672)
  • sync: don't panic in oneshot::try_recv (#​3674)
  • sync: fix notifications getting dropped on receiver drop (#​3652)
  • sync: fix Semaphore permit overflow calculation (#​3644)
Documented
  • io: clarify requirements of AsyncFd (#​3635)
  • runtime: fix unclear docs for {Handle,Runtime}::block_on (#​3628)
  • sync: document that Semaphore is fair (#​3693)
  • sync: improve doc on blocking mutex (#​3645)

v1.4.0

Compare Source

Added
  • macros: introduce biased argument for select! (#​3603)
  • runtime: add Handle::block_on (#​3569)
Fixed
  • runtime: avoid unnecessary polling of block_on future (#​3582)
  • runtime: fix memory leak/growth when creating many runtimes (#​3564)
  • runtime: mark EnterGuard with must_use (#​3609)
Documented
  • chore: mention fix for building docs in contributing guide (#​3618)
  • doc: add link to PollSender (#​3613)
  • doc: alias sleep to delay (#​3604)
  • sync: improve Mutex FIFO explanation (#​3615)
  • timer: fix double newline in module docs (#​3617)

v1.3.0

Compare Source

Added
  • coop: expose an unconstrained() opt-out (#​3547)
  • net: add into_std for net types without it (#​3509)
  • sync: add same_channel method to mpsc::Sender (#​3532)
  • sync: add {try_,}acquire_many_owned to Semaphore (#​3535)
  • sync: add back RwLockWriteGuard::map and RwLockWriteGuard::try_map (#​3348)
Fixed
  • sync: allow oneshot::Receiver::close after successful try_recv (#​3552)
  • time: do not panic on timeout(Duration::MAX) (#​3551)
Documented
  • doc: doc aliases for pre-1.0 function names (#​3523)
  • io: fix typos (#​3541)
  • io: note the EOF behaviour of read_until (#​3536)
  • io: update AsyncRead::poll_read doc (#​3557)
  • net: update UdpSocket splitting doc (#​3517)
  • runtime: add link to LocalSet on new_current_thread (#​3508)
  • runtime: update documentation of thread limits (#​3527)
  • sync: do not recommend join_all for Barrier (#​3514)
  • sync: documentation for oneshot (#​3592)
  • sync: rename notify to notify_one (#​3526)
  • time: fix typo in Sleep doc (#​3515)
  • time: sync interval.rs and time/mod.rs docs (#​3533)

v1.2.0

Compare Source

Added
  • signal: make Signal::poll_recv method public (#​3383)
Fixed
  • time: make test-util paused time fully deterministic (#​3492)
Documented
  • sync: link to new broadcast and watch wrappers (#​3504)

v1.1.1

Compare Source

Forward ports 1.0.3 fix.

Fixed
  • io: memory leak during shutdown (#​3477).

v1.1.0

Compare Source

Added
  • net: add try_read_buf and try_recv_buf (#​3351)
  • mpsc: Add Sender::try_reserve function (#​3418)
  • sync: add RwLock try_read and try_write methods (#​3400)
  • io: add ReadBuf::inner_mut (#​3443)
Changed
  • macros: improve select! error message (#​3352)
  • io: keep track of initialized bytes in read_to_end (#​3426)
  • runtime: consolidate errors for context missing (#​3441)
Fixed
  • task: wake LocalSet on spawn_local (#​3369)
  • sync: fix panic in broadcast::Receiver drop (#​3434)
Documented
  • stream: link to new Stream wrappers in tokio-stream (#​3343)
  • docs: mention that test-util feature is not enabled with full (#​3397)
  • process: add documentation to process::Child fields (#​3437)
  • io: clarify AsyncFd docs about changes of the inner fd (#​3430)
  • net: update datagram docs on splitting (#​3448)
  • time: document that Sleep is not Unpin (#​3457)
  • sync: add link to PollSemaphore (#​3456)
  • task: add LocalSet example (#​3438)
  • sync: improve bounded mpsc documentation (#​3458)

v1.0.3

Compare Source

Fixed
  • io: memory leak during shutdown (#​3477).

v1.0.2

Compare Source

Fixed
  • io: soundness in read_to_end (#​3428).

Configuration

📅 Schedule: At any time (no schedule defined).

🚦 Automerge: Enabled.

Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about this update again.


  • If you want to rebase/retry this PR, click this checkbox.

This PR has been generated by Renovate Bot.

This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [tokio](https://tokio.rs) ([source](https://github.com/tokio-rs/tokio)) | dependencies | minor | `1.0` -> `1.21` | --- ### Release Notes <details> <summary>tokio-rs/tokio</summary> ### [`v1.21.2`](https://github.com/tokio-rs/tokio/releases/tag/tokio-1.21.2) ##### 1.21.2 (September 27, 2022) This release removes the dependency on the `once_cell` crate to restore the MSRV of 1.21.x, which is the latest minor version at the time of release. ([#&#8203;5048]) [#&#8203;5048]: https://github.com/tokio-rs/tokio/pull/5048 ### [`v1.21.1`](https://github.com/tokio-rs/tokio/releases/tag/tokio-1.21.1) ##### 1.21.1 (September 13, 2022) ##### Fixed - net: fix dependency resolution for socket2 ([#&#8203;5000]) - task: ignore failure to set TLS in `LocalSet` Drop ([#&#8203;4976]) [#&#8203;4976]: https://github.com/tokio-rs/tokio/pull/4976 [#&#8203;5000]: https://github.com/tokio-rs/tokio/pull/5000 ### [`v1.21.0`](https://github.com/tokio-rs/tokio/releases/tag/tokio-1.21.0) ##### 1.21.0 (September 2, 2022) This release is the first release of Tokio to intentionally support WASM. The `sync,macros,io-util,rt,time` features are stabilized on WASM. Additionally the wasm32-wasi target is given unstable support for the `net` feature. ##### Added - net: add `device` and `bind_device` methods to TCP/UDP sockets ([#&#8203;4882]) - net: add `tos` and `set_tos` methods to TCP and UDP sockets ([#&#8203;4877]) - net: add security flags to named pipe `ServerOptions` ([#&#8203;4845]) - signal: add more windows signal handlers ([#&#8203;4924]) - sync: add `mpsc::Sender::max_capacity` method ([#&#8203;4904]) - sync: implement Weak version of `mpsc::Sender` ([#&#8203;4595]) - task: add `LocalSet::enter` ([#&#8203;4765]) - task: stabilize `JoinSet` and `AbortHandle` ([#&#8203;4920]) - tokio: add `track_caller` to public APIs ([#&#8203;4805], [#&#8203;4848], [#&#8203;4852]) - wasm: initial support for `wasm32-wasi` target ([#&#8203;4716]) ##### Fixed - miri: improve miri compatibility by avoiding temporary references in `linked_list::Link` impls ([#&#8203;4841]) - signal: don't register write interest on signal pipe ([#&#8203;4898]) - sync: add `#[must_use]` to lock guards ([#&#8203;4886]) - sync: fix hang when calling `recv` on closed and reopened broadcast channel ([#&#8203;4867]) - task: propagate attributes on task-locals ([#&#8203;4837]) ##### Changed - fs: change panic to error in `File::start_seek` ([#&#8203;4897]) - io: reduce syscalls in `poll_read` ([#&#8203;4840]) - process: use blocking threadpool for child stdio I/O ([#&#8203;4824]) - signal: make `SignalKind` methods const ([#&#8203;4956]) ##### Internal changes - rt: extract `basic_scheduler::Config` ([#&#8203;4935]) - rt: move I/O driver into `runtime` module ([#&#8203;4942]) - rt: rename internal scheduler types ([#&#8203;4945]) ##### Documented - chore: fix typos and grammar ([#&#8203;4858], [#&#8203;4894], [#&#8203;4928]) - io: fix typo in `AsyncSeekExt::rewind` docs ([#&#8203;4893]) - net: add documentation to `try_read()` for zero-length buffers ([#&#8203;4937]) - runtime: remove incorrect panic section for `Builder::worker_threads` ([#&#8203;4849]) - sync: doc of `watch::Sender::send` improved ([#&#8203;4959]) - task: add cancel safety docs to `JoinHandle` ([#&#8203;4901]) - task: expand on cancellation of `spawn_blocking` ([#&#8203;4811]) - time: clarify that the first tick of `Interval::tick` happens immediately ([#&#8203;4951]) ##### Unstable - rt: add unstable option to disable the LIFO slot ([#&#8203;4936]) - task: fix incorrect signature in `Builder::spawn_on` ([#&#8203;4953]) - task: make `task::Builder::spawn*` methods fallible ([#&#8203;4823]) [#&#8203;4595]: https://github.com/tokio-rs/tokio/pull/4595 [#&#8203;4716]: https://github.com/tokio-rs/tokio/pull/4716 [#&#8203;4765]: https://github.com/tokio-rs/tokio/pull/4765 [#&#8203;4805]: https://github.com/tokio-rs/tokio/pull/4805 [#&#8203;4811]: https://github.com/tokio-rs/tokio/pull/4811 [#&#8203;4823]: https://github.com/tokio-rs/tokio/pull/4823 [#&#8203;4824]: https://github.com/tokio-rs/tokio/pull/4824 [#&#8203;4837]: https://github.com/tokio-rs/tokio/pull/4837 [#&#8203;4840]: https://github.com/tokio-rs/tokio/pull/4840 [#&#8203;4841]: https://github.com/tokio-rs/tokio/pull/4841 [#&#8203;4845]: https://github.com/tokio-rs/tokio/pull/4845 [#&#8203;4848]: https://github.com/tokio-rs/tokio/pull/4848 [#&#8203;4849]: https://github.com/tokio-rs/tokio/pull/4849 [#&#8203;4852]: https://github.com/tokio-rs/tokio/pull/4852 [#&#8203;4858]: https://github.com/tokio-rs/tokio/pull/4858 [#&#8203;4867]: https://github.com/tokio-rs/tokio/pull/4867 [#&#8203;4877]: https://github.com/tokio-rs/tokio/pull/4877 [#&#8203;4882]: https://github.com/tokio-rs/tokio/pull/4882 [#&#8203;4886]: https://github.com/tokio-rs/tokio/pull/4886 [#&#8203;4893]: https://github.com/tokio-rs/tokio/pull/4893 [#&#8203;4894]: https://github.com/tokio-rs/tokio/pull/4894 [#&#8203;4897]: https://github.com/tokio-rs/tokio/pull/4897 [#&#8203;4898]: https://github.com/tokio-rs/tokio/pull/4898 [#&#8203;4901]: https://github.com/tokio-rs/tokio/pull/4901 [#&#8203;4904]: https://github.com/tokio-rs/tokio/pull/4904 [#&#8203;4920]: https://github.com/tokio-rs/tokio/pull/4920 [#&#8203;4924]: https://github.com/tokio-rs/tokio/pull/4924 [#&#8203;4928]: https://github.com/tokio-rs/tokio/pull/4928 [#&#8203;4935]: https://github.com/tokio-rs/tokio/pull/4935 [#&#8203;4936]: https://github.com/tokio-rs/tokio/pull/4936 [#&#8203;4937]: https://github.com/tokio-rs/tokio/pull/4937 [#&#8203;4942]: https://github.com/tokio-rs/tokio/pull/4942 [#&#8203;4945]: https://github.com/tokio-rs/tokio/pull/4945 [#&#8203;4951]: https://github.com/tokio-rs/tokio/pull/4951 [#&#8203;4953]: https://github.com/tokio-rs/tokio/pull/4953 [#&#8203;4956]: https://github.com/tokio-rs/tokio/pull/4956 [#&#8203;4959]: https://github.com/tokio-rs/tokio/pull/4959 ### [`v1.20.2`](https://github.com/tokio-rs/tokio/releases/tag/tokio-1.20.2) ##### 1.20.2 (September 27, 2022) This release removes the dependency on the `once_cell` crate to restore the MSRV of the 1.20.x LTS release. ([#&#8203;5048]) [#&#8203;5048]: https://github.com/tokio-rs/tokio/pull/5048 ### [`v1.20.1`](https://github.com/tokio-rs/tokio/releases/tag/tokio-1.20.1) ##### 1.20.1 (July 25, 2022) ##### Fixed - chore: fix version detection in build script ([#&#8203;4860]) [#&#8203;4860]: https://github.com/tokio-rs/tokio/pull/4860 ### [`v1.20.0`](https://github.com/tokio-rs/tokio/releases/tag/tokio-1.20.0) ##### 1.20.0 (July 12, 2022) ##### Added - tokio: add track_caller to public APIs ([#&#8203;4772], [#&#8203;4791], [#&#8203;4793], [#&#8203;4806], [#&#8203;4808]) - sync: Add `has_changed` method to `watch::Ref` ([#&#8203;4758]) ##### Changed - time: remove `src/time/driver/wheel/stack.rs` ([#&#8203;4766]) - rt: clean up arguments passed to basic scheduler ([#&#8203;4767]) - net: be more specific about winapi features ([#&#8203;4764]) - tokio: use const initialized thread locals where possible ([#&#8203;4677]) - task: various small improvements to LocalKey ([#&#8203;4795]) ##### Fixed ##### Documented - fs: warn about performance pitfall ([#&#8203;4762]) - chore: fix spelling ([#&#8203;4769]) - sync: document spurious failures in oneshot ([#&#8203;4777]) - sync: add warning for watch in non-Send futures ([#&#8203;4741]) - chore: fix typo ([#&#8203;4798]) ##### Unstable - joinset: rename `join_one` to `join_next` ([#&#8203;4755]) - rt: unhandled panic config for current thread rt ([#&#8203;4770]) [#&#8203;4677]: https://github.com/tokio-rs/tokio/pull/4677 [#&#8203;4741]: https://github.com/tokio-rs/tokio/pull/4741 [#&#8203;4755]: https://github.com/tokio-rs/tokio/pull/4755 [#&#8203;4758]: https://github.com/tokio-rs/tokio/pull/4758 [#&#8203;4762]: https://github.com/tokio-rs/tokio/pull/4762 [#&#8203;4764]: https://github.com/tokio-rs/tokio/pull/4764 [#&#8203;4766]: https://github.com/tokio-rs/tokio/pull/4766 [#&#8203;4767]: https://github.com/tokio-rs/tokio/pull/4767 [#&#8203;4769]: https://github.com/tokio-rs/tokio/pull/4769 [#&#8203;4770]: https://github.com/tokio-rs/tokio/pull/4770 [#&#8203;4772]: https://github.com/tokio-rs/tokio/pull/4772 [#&#8203;4777]: https://github.com/tokio-rs/tokio/pull/4777 [#&#8203;4791]: https://github.com/tokio-rs/tokio/pull/4791 [#&#8203;4793]: https://github.com/tokio-rs/tokio/pull/4793 [#&#8203;4795]: https://github.com/tokio-rs/tokio/pull/4795 [#&#8203;4798]: https://github.com/tokio-rs/tokio/pull/4798 [#&#8203;4806]: https://github.com/tokio-rs/tokio/pull/4806 [#&#8203;4808]: https://github.com/tokio-rs/tokio/pull/4808 ### [`v1.19.2`](https://github.com/tokio-rs/tokio/releases/tag/tokio-1.19.2) ##### 1.19.2 (June 6, 2022) This release fixes another bug in `Notified::enable`. ([#&#8203;4751]) [#&#8203;4751]: https://github.com/tokio-rs/tokio/pull/4751 ### [`v1.19.1`](https://github.com/tokio-rs/tokio/releases/tag/tokio-1.19.1) ##### 1.19.1 (June 5, 2022) This release fixes a bug in `Notified::enable`. ([#&#8203;4747]) [#&#8203;4747]: https://github.com/tokio-rs/tokio/pull/4747 ### [`v1.19.0`](https://github.com/tokio-rs/tokio/releases/tag/tokio-1.19.0) ##### 1.19.0 (June 3, 2022) ##### Added - runtime: add `is_finished` method for `JoinHandle` and `AbortHandle` ([#&#8203;4709]) - runtime: make global queue and event polling intervals configurable ([#&#8203;4671]) - sync: add `Notified::enable` ([#&#8203;4705]) - sync: add `watch::Sender::send_if_modified` ([#&#8203;4591]) - sync: add resubscribe method to broadcast::Receiver ([#&#8203;4607]) - net: add `take_error` to `TcpSocket` and `TcpStream` ([#&#8203;4739]) ##### Changed - io: refactor out usage of Weak in the io handle ([#&#8203;4656]) ##### Fixed - macros: avoid starvation in `join!` and `try_join!` ([#&#8203;4624]) ##### Documented - runtime: clarify semantics of tasks outliving `block_on` ([#&#8203;4729]) - time: fix example for `MissedTickBehavior::Burst` ([#&#8203;4713]) ##### Unstable - metrics: correctly update atomics in `IoDriverMetrics` ([#&#8203;4725]) - metrics: fix compilation with unstable, process, and rt, but without net ([#&#8203;4682]) - task: add `#[track_caller]` to `JoinSet`/`JoinMap` ([#&#8203;4697]) - task: add `Builder::{spawn_on, spawn_local_on, spawn_blocking_on}` ([#&#8203;4683]) - task: add `consume_budget` for cooperative scheduling ([#&#8203;4498]) - task: add `join_set::Builder` for configuring `JoinSet` tasks ([#&#8203;4687]) - task: update return value of `JoinSet::join_one` ([#&#8203;4726]) [#&#8203;4498]: https://github.com/tokio-rs/tokio/pull/4498 [#&#8203;4591]: https://github.com/tokio-rs/tokio/pull/4591 [#&#8203;4607]: https://github.com/tokio-rs/tokio/pull/4607 [#&#8203;4624]: https://github.com/tokio-rs/tokio/pull/4624 [#&#8203;4656]: https://github.com/tokio-rs/tokio/pull/4656 [#&#8203;4671]: https://github.com/tokio-rs/tokio/pull/4671 [#&#8203;4682]: https://github.com/tokio-rs/tokio/pull/4682 [#&#8203;4683]: https://github.com/tokio-rs/tokio/pull/4683 [#&#8203;4687]: https://github.com/tokio-rs/tokio/pull/4687 [#&#8203;4697]: https://github.com/tokio-rs/tokio/pull/4697 [#&#8203;4705]: https://github.com/tokio-rs/tokio/pull/4705 [#&#8203;4709]: https://github.com/tokio-rs/tokio/pull/4709 [#&#8203;4713]: https://github.com/tokio-rs/tokio/pull/4713 [#&#8203;4725]: https://github.com/tokio-rs/tokio/pull/4725 [#&#8203;4726]: https://github.com/tokio-rs/tokio/pull/4726 [#&#8203;4729]: https://github.com/tokio-rs/tokio/pull/4729 [#&#8203;4739]: https://github.com/tokio-rs/tokio/pull/4739 ### [`v1.18.3`](https://github.com/tokio-rs/tokio/releases/tag/tokio-1.18.3) ##### 1.18.3 (September 27, 2022) This release removes the dependency on the `once_cell` crate to restore the MSRV of the 1.18.x LTS release. ([#&#8203;5048]) [#&#8203;5048]: https://github.com/tokio-rs/tokio/pull/5048 ### [`v1.18.2`](https://github.com/tokio-rs/tokio/releases/tag/tokio-1.18.2) ##### 1.18.2 (May 5, 2022) Add missing features for the `winapi` dependency. ([#&#8203;4663]) [#&#8203;4663]: https://github.com/tokio-rs/tokio/pull/4663 ### [`v1.18.1`](https://github.com/tokio-rs/tokio/releases/tag/tokio-1.18.1) ##### 1.18.1 (May 2, 2022) The 1.18.0 release broke the build for targets without 64-bit atomics when building with `tokio_unstable`. This release fixes that. ([#&#8203;4649]) [#&#8203;4649]: https://github.com/tokio-rs/tokio/pull/4649 ### [`v1.18.0`](https://github.com/tokio-rs/tokio/releases/tag/tokio-1.18.0) [Compare Source](https://github.com/tokio-rs/tokio/compare/tokio-1.17.0...tokio-1.18.0) ##### 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` (`Id`s 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` ([#&#8203;4616](https://github.com/tokio-rs/tokio/issues/4616)) - macros: fix `select` macro to process 64 branches ([#&#8203;4519](https://github.com/tokio-rs/tokio/issues/4519)) - net: fix `try_io` methods not calling Mio's `try_io` internally ([#&#8203;4582](https://github.com/tokio-rs/tokio/issues/4582)) - runtime: recover when OS fails to spawn a new thread ([#&#8203;4485](https://github.com/tokio-rs/tokio/issues/4485)) ##### Added - net: add `UdpSocket::peer_addr` ([#&#8203;4611](https://github.com/tokio-rs/tokio/issues/4611)) - net: add `try_read_buf` method for named pipes ([#&#8203;4626](https://github.com/tokio-rs/tokio/issues/4626)) - signal: add `SignalKind` `Hash`/`Eq` impls and `c_int` conversion ([#&#8203;4540](https://github.com/tokio-rs/tokio/issues/4540)) - signal: add support for signals up to `SIGRTMAX` ([#&#8203;4555](https://github.com/tokio-rs/tokio/issues/4555)) - sync: add `watch::Sender::send_modify` method ([#&#8203;4310](https://github.com/tokio-rs/tokio/issues/4310)) - sync: add `broadcast::Receiver::len` method ([#&#8203;4542](https://github.com/tokio-rs/tokio/issues/4542)) - sync: add `watch::Receiver::same_channel` method ([#&#8203;4581](https://github.com/tokio-rs/tokio/issues/4581)) - sync: implement `Clone` for `RecvError` types ([#&#8203;4560](https://github.com/tokio-rs/tokio/issues/4560)) ##### Changed - update `mio` to 0.8.1 ([#&#8203;4582](https://github.com/tokio-rs/tokio/issues/4582)) - macros: rename `tokio::select!`'s internal `util` module ([#&#8203;4543](https://github.com/tokio-rs/tokio/issues/4543)) - runtime: use `Vec::with_capacity` when building runtime ([#&#8203;4553](https://github.com/tokio-rs/tokio/issues/4553)) ##### Documented - improve docs for `tokio_unstable` ([#&#8203;4524](https://github.com/tokio-rs/tokio/issues/4524)) - runtime: include more documentation for thread_pool/worker ([#&#8203;4511](https://github.com/tokio-rs/tokio/issues/4511)) - runtime: update `Handle::current`'s docs to mention `EnterGuard` ([#&#8203;4567](https://github.com/tokio-rs/tokio/issues/4567)) - time: clarify platform specific timer resolution ([#&#8203;4474](https://github.com/tokio-rs/tokio/issues/4474)) - signal: document that `Signal::recv` is cancel-safe ([#&#8203;4634](https://github.com/tokio-rs/tokio/issues/4634)) - sync: `UnboundedReceiver` close docs ([#&#8203;4548](https://github.com/tokio-rs/tokio/issues/4548)) ##### Unstable The following changes only apply when building with `--cfg tokio_unstable`: - task: add `task::Id` type ([#&#8203;4630](https://github.com/tokio-rs/tokio/issues/4630)) - task: add `AbortHandle` type for cancelling tasks in a `JoinSet` ([#&#8203;4530](https://github.com/tokio-rs/tokio/issues/4530)], \[[#&#8203;4640](https://github.com/tokio-rs/tokio/issues/4640)) - task: fix missing `doc(cfg(...))` attributes for `JoinSet` ([#&#8203;4531](https://github.com/tokio-rs/tokio/issues/4531)) - task: fix broken link in `AbortHandle` RustDoc ([#&#8203;4545](https://github.com/tokio-rs/tokio/issues/4545)) - metrics: add initial IO driver metrics ([#&#8203;4507](https://github.com/tokio-rs/tokio/issues/4507)) ### [`v1.17.0`](https://github.com/tokio-rs/tokio/releases/tag/tokio-1.17.0) [Compare Source](https://github.com/tokio-rs/tokio/compare/tokio-1.16.1...tokio-1.17.0) ##### 1.17.0 (February 15, 2022) This release updates the minimum supported Rust version (MSRV) to 1.49, the `mio` dependency to v0.8, and the (optional) `parking_lot` dependency to v0.12. Additionally, it contains several bug fixes, as well as internal refactoring and performance improvements. ##### Fixed - time: prevent panicking in `sleep` with large durations ([#&#8203;4495]) - time: eliminate potential panics in `Instant` arithmetic on platforms where `Instant::now` is not monotonic ([#&#8203;4461]) - io: fix `DuplexStream` not participating in cooperative yielding ([#&#8203;4478]) - rt: fix potential double panic when dropping a `JoinHandle` ([#&#8203;4430]) ##### Changed - update minimum supported Rust version to 1.49 ([#&#8203;4457]) - update `parking_lot` dependency to v0.12.0 ([#&#8203;4459]) - update `mio` dependency to v0.8 ([#&#8203;4449]) - rt: remove an unnecessary lock in the blocking pool ([#&#8203;4436]) - rt: remove an unnecessary enum in the basic scheduler ([#&#8203;4462]) - time: use bit manipulation instead of modulo to improve performance ([#&#8203;4480]) - net: use `std::future::Ready` instead of our own `Ready` future ([#&#8203;4271]) - replace deprecated `atomic::spin_loop_hint` with `hint::spin_loop` ([#&#8203;4491]) - fix miri failures in intrusive linked lists ([#&#8203;4397]) ##### Documented - io: add an example for `tokio::process::ChildStdin` ([#&#8203;4479]) ##### Unstable The following changes only apply when building with `--cfg tokio_unstable`: - task: fix missing location information in `tracing` spans generated by `spawn_local` ([#&#8203;4483]) - task: add `JoinSet` for managing sets of tasks ([#&#8203;4335]) - metrics: fix compilation error on MIPS ([#&#8203;4475]) - metrics: fix compilation error on arm32v7 ([#&#8203;4453]) [#&#8203;4495]: https://github.com/tokio-rs/tokio/pull/4495 [#&#8203;4461]: https://github.com/tokio-rs/tokio/pull/4461 [#&#8203;4478]: https://github.com/tokio-rs/tokio/pull/4478 [#&#8203;4430]: https://github.com/tokio-rs/tokio/pull/4430 [#&#8203;4457]: https://github.com/tokio-rs/tokio/pull/4457 [#&#8203;4459]: https://github.com/tokio-rs/tokio/pull/4459 [#&#8203;4449]: https://github.com/tokio-rs/tokio/pull/4449 [#&#8203;4462]: https://github.com/tokio-rs/tokio/pull/4462 [#&#8203;4436]: https://github.com/tokio-rs/tokio/pull/4436 [#&#8203;4480]: https://github.com/tokio-rs/tokio/pull/4480 [#&#8203;4271]: https://github.com/tokio-rs/tokio/pull/4271 [#&#8203;4491]: https://github.com/tokio-rs/tokio/pull/4491 [#&#8203;4397]: https://github.com/tokio-rs/tokio/pull/4397 [#&#8203;4479]: https://github.com/tokio-rs/tokio/pull/4479 [#&#8203;4483]: https://github.com/tokio-rs/tokio/pull/4483 [#&#8203;4335]: https://github.com/tokio-rs/tokio/pull/4335 [#&#8203;4475]: https://github.com/tokio-rs/tokio/pull/4475 [#&#8203;4453]: https://github.com/tokio-rs/tokio/pull/4453 ### [`v1.16.1`](https://github.com/tokio-rs/tokio/releases/tag/tokio-1.16.1) [Compare Source](https://github.com/tokio-rs/tokio/compare/tokio-1.16.0...tokio-1.16.1) ##### 1.16.1 (January 28, 2022) This release fixes a bug in [#&#8203;4428] with the change [#&#8203;4437]. [#&#8203;4428]: https://github.com/tokio-rs/tokio/pull/4428 [#&#8203;4437]: https://github.com/tokio-rs/tokio/pull/4437 ### [`v1.16.0`](https://github.com/tokio-rs/tokio/releases/tag/tokio-1.16.0) [Compare Source](https://github.com/tokio-rs/tokio/compare/tokio-1.15.0...tokio-1.16.0) Fixes a soundness bug in `io::Take` ([#&#8203;4428]). The unsoundness is exposed when leaking memory in the given `AsyncRead` implementation and then overwriting the supplied buffer: ```rust impl AsyncRead for Buggy { fn poll_read( self: Pin<&mut Self>, cx: &mut Context<'_>, buf: &mut ReadBuf<'_> ) -> Poll<Result<()>> { let new_buf = vec![0; 5].leak(); *buf = ReadBuf::new(new_buf); buf.put_slice(b"hello"); Poll::Ready(Ok(())) } } ``` Also, this release includes improvements to the multi-threaded scheduler that can increase throughput by up to 20% in some cases ([#&#8203;4383]). ##### Fixed - io: **soundness** don't expose uninitialized memory when using `io::Take` in edge case ([#&#8203;4428]) - fs: ensure `File::write` results in a `write` syscall when the runtime shuts down ([#&#8203;4316]) - process: drop pipe after child exits in `wait_with_output` ([#&#8203;4315]) - rt: improve error message when spawning a thread fails ([#&#8203;4398]) - rt: reduce false-positive thread wakups in the multi-threaded scheduler ([#&#8203;4383]) - sync: don't inherit `Send` from `parking_lot::*Guard` ([#&#8203;4359]) ##### Added - net: `TcpSocket::linger()` and `set_linger()` ([#&#8203;4324]) - net: impl `UnwindSafe` for socket types ([#&#8203;4384]) - rt: impl `UnwindSafe` for `JoinHandle` ([#&#8203;4418]) - sync: `watch::Receiver::has_changed()` ([#&#8203;4342]) - sync: `oneshot::Receiver::blocking_recv()` ([#&#8203;4334]) - sync: `RwLock` blocking operations ([#&#8203;4425]) ##### Unstable The following changes only apply when building with `--cfg tokio_unstable` - rt: **breaking change** overhaul runtime metrics API ([#&#8203;4373]) [#&#8203;4428]: https://github.com/tokio-rs/tokio/pull/4428 [#&#8203;4316]: https://github.com/tokio-rs/tokio/pull/4316 [#&#8203;4315]: https://github.com/tokio-rs/tokio/pull/4315 [#&#8203;4398]: https://github.com/tokio-rs/tokio/pull/4398 [#&#8203;4383]: https://github.com/tokio-rs/tokio/pull/4383 [#&#8203;4359]: https://github.com/tokio-rs/tokio/pull/4359 [#&#8203;4324]: https://github.com/tokio-rs/tokio/pull/4324 [#&#8203;4384]: https://github.com/tokio-rs/tokio/pull/4384 [#&#8203;4418]: https://github.com/tokio-rs/tokio/pull/4418 [#&#8203;4342]: https://github.com/tokio-rs/tokio/pull/4342 [#&#8203;4334]: https://github.com/tokio-rs/tokio/pull/4334 [#&#8203;4425]: https://github.com/tokio-rs/tokio/pull/4425 [#&#8203;4373]: https://github.com/tokio-rs/tokio/pull/4373 ### [`v1.15.0`](https://github.com/tokio-rs/tokio/releases/tag/tokio-1.15.0) [Compare Source](https://github.com/tokio-rs/tokio/compare/tokio-1.14.1...tokio-1.15.0) ##### Fixed - io: add cooperative yielding support to `io::empty()` ([#&#8203;4300]) - time: make timeout robust against budget-depleting tasks ([#&#8203;4314]) ##### Changed - update minimum supported Rust version to 1.46. ##### Added - time: add `Interval::reset()` ([#&#8203;4248]) - io: add explicit lifetimes to `AsyncFdReadyGuard` ([#&#8203;4267]) - process: add `Command::as_std()` ([#&#8203;4295]) ##### Added (unstable) - tracing: instrument `tokio::sync` types ([#&#8203;4302]) [#&#8203;4302]: https://github.com/tokio-rs/tokio/pull/4302 [#&#8203;4300]: https://github.com/tokio-rs/tokio/pull/4300 [#&#8203;4295]: https://github.com/tokio-rs/tokio/pull/4295 [#&#8203;4267]: https://github.com/tokio-rs/tokio/pull/4267 [#&#8203;4248]: https://github.com/tokio-rs/tokio/pull/4248 [#&#8203;4314]: https://github.com/tokio-rs/tokio/pull/4314 ### [`v1.14.1`](https://github.com/tokio-rs/tokio/releases/tag/tokio-1.14.1) [Compare Source](https://github.com/tokio-rs/tokio/compare/tokio-1.14.0...tokio-1.14.1) This release backports a bug fix from 1.16.1 Fixes a soundness bug in `io::Take` ([#&#8203;4428]). The unsoundness is exposed when leaking memory in the given `AsyncRead` implementation and then overwriting the supplied buffer: ```rust impl AsyncRead for Buggy { fn poll_read( self: Pin<&mut Self>, cx: &mut Context<'_>, buf: &mut ReadBuf<'_> ) -> Poll<Result<()>> { let new_buf = vec![0; 5].leak(); *buf = ReadBuf::new(new_buf); buf.put_slice(b"hello"); Poll::Ready(Ok(())) } } ``` ##### Fixed - io: **soundness** don't expose uninitialized memory when using `io::Take` in edge case ([#&#8203;4428]) [#&#8203;4428]: https://github.com/tokio-rs/tokio/pull/4428 ### [`v1.14.0`](https://github.com/tokio-rs/tokio/releases/tag/tokio-1.14.0) [Compare Source](https://github.com/tokio-rs/tokio/compare/tokio-1.13.1...tokio-1.14.0) ### 1.14.0 (November 15, 2021) ##### Fixed - macros: fix compiler errors when using `mut` patterns in `select!` ([#&#8203;4211]) - sync: fix a data race between `oneshot::Sender::send` and awaiting a `oneshot::Receiver` when the oneshot has been closed ([#&#8203;4226]) - sync: make `AtomicWaker` panic safe ([#&#8203;3689]) - runtime: fix basic scheduler dropping tasks outside a runtime context ([#&#8203;4213]) ##### Added - stats: add `RuntimeStats::busy_duration_total` ([#&#8203;4179], [#&#8203;4223]) ##### Changed - io: updated `copy` buffer size to match `std::io::copy` ([#&#8203;4209]) ##### Documented - io: rename buffer to file in doc-test ([#&#8203;4230]) - sync: fix Notify example ([#&#8203;4212]) [#&#8203;4211]: https://github.com/tokio-rs/tokio/pull/4211 [#&#8203;4226]: https://github.com/tokio-rs/tokio/pull/4226 [#&#8203;3689]: https://github.com/tokio-rs/tokio/pull/3689 [#&#8203;4213]: https://github.com/tokio-rs/tokio/pull/4213 [#&#8203;4179]: https://github.com/tokio-rs/tokio/pull/4179 [#&#8203;4223]: https://github.com/tokio-rs/tokio/pull/4223 [#&#8203;4209]: https://github.com/tokio-rs/tokio/pull/4209 [#&#8203;4230]: https://github.com/tokio-rs/tokio/pull/4230 [#&#8203;4212]: https://github.com/tokio-rs/tokio/pull/4212 ### [`v1.13.1`](https://github.com/tokio-rs/tokio/releases/tag/tokio-1.13.1) [Compare Source](https://github.com/tokio-rs/tokio/compare/tokio-1.13.0...tokio-1.13.1) ### 1.13.1 (November 15, 2021) This release fixes a data race when sending and receiving on a closed `oneshot` channel ([RUSTSEC-2021-0124]). ##### Fixed - sync: fix a data race between `oneshot::Sender::send` and awaiting a `oneshot::Receiver` when the oneshot has been closed ([#&#8203;4226](https://github.com/tokio-rs/tokio/issues/4226)) [RUSTSEC-2021-0124]: https://rustsec.org/advisories/RUSTSEC-2021-0124.html ### [`v1.13.0`](https://github.com/tokio-rs/tokio/releases/tag/tokio-1.13.0) [Compare Source](https://github.com/tokio-rs/tokio/compare/tokio-1.12.0...tokio-1.13.0) ### 1.13.0 (October 29, 2021) ##### Fixed - sync: fix `Notify` to clone the waker before locking its waiter list ([#&#8203;4129]) - tokio: add riscv32 to non atomic64 architectures ([#&#8203;4185]) ##### Added - net: add `poll_{recv,send}_ready` methods to `udp` and `uds_datagram` ([#&#8203;4131]) - net: add `try_*`, `readable`, `writable`, `ready`, and `peer_addr` methods to split halves ([#&#8203;4120]) - sync: add `blocking_lock` to `Mutex` ([#&#8203;4130]) - sync: add `watch::Sender::send_replace` ([#&#8203;3962], [#&#8203;4195]) - sync: expand `Debug` for `Mutex<T>` impl to unsized `T` ([#&#8203;4134]) - tracing: instrument time::Sleep ([#&#8203;4072]) - tracing: use structured location fields for spawned tasks ([#&#8203;4128]) ##### Changed - io: add assert in `copy_bidirectional` that `poll_write` is sensible ([#&#8203;4125]) - macros: use qualified syntax when polling in `select!` ([#&#8203;4192]) - runtime: handle `block_on` wakeups better ([#&#8203;4157]) - task: allocate callback on heap immediately in debug mode ([#&#8203;4203]) - tokio: assert platform-minimum requirements at build time ([#&#8203;3797]) ##### Documented - docs: conversion of doc comments to indicative mood ([#&#8203;4174]) - docs: add returning on the first error example for `try_join!` ([#&#8203;4133]) - docs: fixing broken links in `tokio/src/lib.rs` ([#&#8203;4132]) - signal: add example with background listener ([#&#8203;4171]) - sync: add more oneshot examples ([#&#8203;4153]) - time: document `Interval::tick` cancel safety ([#&#8203;4152]) [#&#8203;3797]: https://github.com/tokio-rs/tokio/pull/3797 [#&#8203;3962]: https://github.com/tokio-rs/tokio/pull/3962 [#&#8203;4072]: https://github.com/tokio-rs/tokio/pull/4072 [#&#8203;4120]: https://github.com/tokio-rs/tokio/pull/4120 [#&#8203;4125]: https://github.com/tokio-rs/tokio/pull/4125 [#&#8203;4128]: https://github.com/tokio-rs/tokio/pull/4128 [#&#8203;4129]: https://github.com/tokio-rs/tokio/pull/4129 [#&#8203;4130]: https://github.com/tokio-rs/tokio/pull/4130 [#&#8203;4131]: https://github.com/tokio-rs/tokio/pull/4131 [#&#8203;4132]: https://github.com/tokio-rs/tokio/pull/4132 [#&#8203;4133]: https://github.com/tokio-rs/tokio/pull/4133 [#&#8203;4134]: https://github.com/tokio-rs/tokio/pull/4134 [#&#8203;4152]: https://github.com/tokio-rs/tokio/pull/4152 [#&#8203;4153]: https://github.com/tokio-rs/tokio/pull/4153 [#&#8203;4157]: https://github.com/tokio-rs/tokio/pull/4157 [#&#8203;4171]: https://github.com/tokio-rs/tokio/pull/4171 [#&#8203;4174]: https://github.com/tokio-rs/tokio/pull/4174 [#&#8203;4185]: https://github.com/tokio-rs/tokio/pull/4185 [#&#8203;4192]: https://github.com/tokio-rs/tokio/pull/4192 [#&#8203;4195]: https://github.com/tokio-rs/tokio/pull/4195 [#&#8203;4203]: https://github.com/tokio-rs/tokio/pull/4203 ### [`v1.12.0`](https://github.com/tokio-rs/tokio/releases/tag/tokio-1.12.0) [Compare Source](https://github.com/tokio-rs/tokio/compare/tokio-1.11.0...tokio-1.12.0) ### 1.12.0 (September 21, 2021) ##### Fixed - mpsc: ensure `try_reserve` error is consistent with `try_send` ([#&#8203;4119]) - mpsc: use `spin_loop_hint` instead of `yield_now` ([#&#8203;4115]) - sync: make `SendError` field public ([#&#8203;4097]) ##### Added - io: add POSIX AIO on FreeBSD ([#&#8203;4054]) - io: add convenience method `AsyncSeekExt::rewind` ([#&#8203;4107]) - runtime: add tracing span for `block_on` futures ([#&#8203;4094]) - runtime: callback when a worker parks and unparks ([#&#8203;4070]) - sync: implement `try_recv` for mpsc channels ([#&#8203;4113]) ##### Changed - macros: run runtime inside `LocalSet` when using macro ([#&#8203;4027]) ##### Documented - docs: clarify CPU-bound tasks on Tokio ([#&#8203;4105]) - mpsc: document spurious failures on `poll_recv` ([#&#8203;4117]) - mpsc: document that `PollSender` impls `Sink` ([#&#8203;4110]) - task: document non-guarantees of `yield_now` ([#&#8203;4091]) - time: document paused time details better ([#&#8203;4061], [#&#8203;4103]) [#&#8203;4027]: https://github.com/tokio-rs/tokio/pull/4027 [#&#8203;4054]: https://github.com/tokio-rs/tokio/pull/4054 [#&#8203;4061]: https://github.com/tokio-rs/tokio/pull/4061 [#&#8203;4070]: https://github.com/tokio-rs/tokio/pull/4070 [#&#8203;4091]: https://github.com/tokio-rs/tokio/pull/4091 [#&#8203;4094]: https://github.com/tokio-rs/tokio/pull/4094 [#&#8203;4097]: https://github.com/tokio-rs/tokio/pull/4097 [#&#8203;4103]: https://github.com/tokio-rs/tokio/pull/4103 [#&#8203;4105]: https://github.com/tokio-rs/tokio/pull/4105 [#&#8203;4107]: https://github.com/tokio-rs/tokio/pull/4107 [#&#8203;4110]: https://github.com/tokio-rs/tokio/pull/4110 [#&#8203;4113]: https://github.com/tokio-rs/tokio/pull/4113 [#&#8203;4115]: https://github.com/tokio-rs/tokio/pull/4115 [#&#8203;4117]: https://github.com/tokio-rs/tokio/pull/4117 [#&#8203;4119]: https://github.com/tokio-rs/tokio/pull/4119 ### [`v1.11.0`](https://github.com/tokio-rs/tokio/releases/tag/tokio-1.11.0) [Compare Source](https://github.com/tokio-rs/tokio/compare/tokio-1.10.1...tokio-1.11.0) ### 1.11.0 (August 31, 2021) ##### Fixed - time: don't panic when Instant is not monotonic ([#&#8203;4044]) - io: fix panic in `fill_buf` by not calling `poll_fill_buf` twice ([#&#8203;4084]) ##### Added - watch: add `watch::Sender::subscribe` ([#&#8203;3800]) - process: add `from_std` to `ChildStd*` ([#&#8203;4045]) - stats: initial work on runtime stats ([#&#8203;4043]) ##### Changed - tracing: change span naming to new console convention ([#&#8203;4042]) - io: speed-up waking by using uninitialized array ([#&#8203;4055], [#&#8203;4071], [#&#8203;4075]) ##### Documented - time: make Sleep examples easier to find ([#&#8203;4040]) [#&#8203;3800]: https://github.com/tokio-rs/tokio/pull/3800 [#&#8203;4040]: https://github.com/tokio-rs/tokio/pull/4040 [#&#8203;4042]: https://github.com/tokio-rs/tokio/pull/4042 [#&#8203;4043]: https://github.com/tokio-rs/tokio/pull/4043 [#&#8203;4044]: https://github.com/tokio-rs/tokio/pull/4044 [#&#8203;4045]: https://github.com/tokio-rs/tokio/pull/4045 [#&#8203;4055]: https://github.com/tokio-rs/tokio/pull/4055 [#&#8203;4071]: https://github.com/tokio-rs/tokio/pull/4071 [#&#8203;4075]: https://github.com/tokio-rs/tokio/pull/4075 [#&#8203;4084]: https://github.com/tokio-rs/tokio/pull/4084 ### [`v1.10.1`](https://github.com/tokio-rs/tokio/releases/tag/tokio-1.10.1) [Compare Source](https://github.com/tokio-rs/tokio/compare/tokio-1.10.0...tokio-1.10.1) ### 1.10.1 (August 24, 2021) ##### Fixed - runtime: fix leak in UnownedTask ([#&#8203;4063]) [#&#8203;4063]: https://github.com/tokio-rs/tokio/pull/4063 ### [`v1.10.0`](https://github.com/tokio-rs/tokio/releases/tag/tokio-1.10.0) [Compare Source](https://github.com/tokio-rs/tokio/compare/tokio-1.9.0...tokio-1.10.0) ### 1.10.0 (August 12, 2021) ##### Added - io: add `(read|write)_f(32|64)[_le]` methods ([#&#8203;4022]) - io: add `fill_buf` and `consume` to `AsyncBufReadExt` ([#&#8203;3991]) - process: add `Child::raw_handle()` on windows ([#&#8203;3998]) ##### Fixed - doc: fix non-doc builds with `--cfg docsrs` ([#&#8203;4020]) - io: flush eagerly in `io::copy` ([#&#8203;4001]) - runtime: a debug assert was sometimes triggered during shutdown ([#&#8203;4005]) - sync: use `spin_loop_hint` instead of `yield_now` in mpsc ([#&#8203;4037]) - tokio: the test-util feature depends on rt, sync, and time ([#&#8203;4036]) ##### Changes - runtime: reorganize parts of the runtime ([#&#8203;3979], [#&#8203;4005]) - signal: make windows docs for signal module show up on unix builds ([#&#8203;3770]) - task: quickly send task to heap on debug mode ([#&#8203;4009]) ##### Documented - io: document cancellation safety of `AsyncBufReadExt` ([#&#8203;3997]) - sync: document when `watch::send` fails ([#&#8203;4021]) [#&#8203;3770]: https://github.com/tokio-rs/tokio/pull/3770 [#&#8203;3979]: https://github.com/tokio-rs/tokio/pull/3979 [#&#8203;3991]: https://github.com/tokio-rs/tokio/pull/3991 [#&#8203;3997]: https://github.com/tokio-rs/tokio/pull/3997 [#&#8203;3998]: https://github.com/tokio-rs/tokio/pull/3998 [#&#8203;4001]: https://github.com/tokio-rs/tokio/pull/4001 [#&#8203;4005]: https://github.com/tokio-rs/tokio/pull/4005 [#&#8203;4009]: https://github.com/tokio-rs/tokio/pull/4009 [#&#8203;4020]: https://github.com/tokio-rs/tokio/pull/4020 [#&#8203;4021]: https://github.com/tokio-rs/tokio/pull/4021 [#&#8203;4022]: https://github.com/tokio-rs/tokio/pull/4022 [#&#8203;4036]: https://github.com/tokio-rs/tokio/pull/4036 [#&#8203;4037]: https://github.com/tokio-rs/tokio/pull/4037 ### [`v1.9.0`](https://github.com/tokio-rs/tokio/releases/tag/tokio-1.9.0) [Compare Source](https://github.com/tokio-rs/tokio/compare/tokio-1.8.5...tokio-1.9.0) ### 1.9.0 (July 19, 2021) ##### Added - net: allow customized I/O operations for `TcpStream` ([#&#8203;3888]) - sync: add getter for the mutex from a guard ([#&#8203;3928]) - task: expose nameable future for `TaskLocal::scope` ([#&#8203;3273]) ##### Fixed - Fix leak if output of future panics on drop ([#&#8203;3967]) - Fix leak in `LocalSet` ([#&#8203;3978]) ##### Changes - runtime: reorganize parts of the runtime ([#&#8203;3909], [#&#8203;3939], [#&#8203;3950], [#&#8203;3955], [#&#8203;3980]) - sync: clean up `OnceCell` ([#&#8203;3945]) - task: remove mutex in `JoinError` ([#&#8203;3959]) [#&#8203;3273]: https://github.com/tokio-rs/tokio/pull/3273 [#&#8203;3888]: https://github.com/tokio-rs/tokio/pull/3888 [#&#8203;3909]: https://github.com/tokio-rs/tokio/pull/3909 [#&#8203;3928]: https://github.com/tokio-rs/tokio/pull/3928 [#&#8203;3934]: https://github.com/tokio-rs/tokio/pull/3934 [#&#8203;3939]: https://github.com/tokio-rs/tokio/pull/3939 [#&#8203;3945]: https://github.com/tokio-rs/tokio/pull/3945 [#&#8203;3950]: https://github.com/tokio-rs/tokio/pull/3950 [#&#8203;3955]: https://github.com/tokio-rs/tokio/pull/3955 [#&#8203;3959]: https://github.com/tokio-rs/tokio/pull/3959 [#&#8203;3967]: https://github.com/tokio-rs/tokio/pull/3967 [#&#8203;3978]: https://github.com/tokio-rs/tokio/pull/3978 [#&#8203;3980]: https://github.com/tokio-rs/tokio/pull/3980 ### [`v1.8.5`](https://github.com/tokio-rs/tokio/releases/tag/tokio-1.8.5) [Compare Source](https://github.com/tokio-rs/tokio/compare/tokio-1.8.4...tokio-1.8.5) This release backports a bug fix from 1.16.1 Fixes a soundness bug in `io::Take` ([#&#8203;4428]). The unsoundness is exposed when leaking memory in the given `AsyncRead` implementation and then overwriting the supplied buffer: ```rust impl AsyncRead for Buggy { fn poll_read( self: Pin<&mut Self>, cx: &mut Context<'_>, buf: &mut ReadBuf<'_> ) -> Poll<Result<()>> { let new_buf = vec![0; 5].leak(); *buf = ReadBuf::new(new_buf); buf.put_slice(b"hello"); Poll::Ready(Ok(())) } } ``` ##### Fixed - io: **soundness** don't expose uninitialized memory when using `io::Take` in edge case ([#&#8203;4428]) [#&#8203;4428]: https://github.com/tokio-rs/tokio/pull/4428 ### [`v1.8.4`](https://github.com/tokio-rs/tokio/releases/tag/tokio-1.8.4) [Compare Source](https://github.com/tokio-rs/tokio/compare/tokio-1.8.3...tokio-1.8.4) ### 1.8.4 (November 15, 2021) This release backports a bugfix for a data race when sending and receiving on a closed `oneshot` channel (\[RUSTSEC-2021-0124]) from v1.13.1. ##### Fixed - sync: fix a data race between `oneshot::Sender::send` and awaiting a `oneshot::Receiver` when the oneshot has been closed ([#&#8203;4226](https://github.com/tokio-rs/tokio/issues/4226)) ### [`v1.8.3`](https://github.com/tokio-rs/tokio/releases/tag/tokio-1.8.3) [Compare Source](https://github.com/tokio-rs/tokio/compare/tokio-1.8.2...tokio-1.8.3) ### 1.8.3 (July 22, 2021) This release backports two fixes from 1.9.0 ##### Fixed - Fix leak if output of future panics on drop ([#&#8203;3967]) - Fix leak in `LocalSet` ([#&#8203;3978]) [#&#8203;3967]: https://github.com/tokio-rs/tokio/pull/3967 [#&#8203;3978]: https://github.com/tokio-rs/tokio/pull/3978 ### [`v1.8.2`](https://github.com/tokio-rs/tokio/releases/tag/tokio-1.8.2) [Compare Source](https://github.com/tokio-rs/tokio/compare/tokio-1.8.1...tokio-1.8.2) Fixes a missed edge case from 1.8.1. ##### Fixed - runtime: drop canceled future on next poll ([#&#8203;3965](https://github.com/tokio-rs/tokio/issues/3965)) ### [`v1.8.1`](https://github.com/tokio-rs/tokio/releases/tag/tokio-1.8.1) [Compare Source](https://github.com/tokio-rs/tokio/compare/tokio-1.8.0...tokio-1.8.1) Forward ports 1.5.1 fixes. ##### Fixed - runtime: remotely abort tasks on `JoinHandle::abort` ([#&#8203;3934]) [#&#8203;3934]: https://github.com/tokio-rs/tokio/pull/3934 ### [`v1.8.0`](https://github.com/tokio-rs/tokio/releases/tag/tokio-1.8.0) [Compare Source](https://github.com/tokio-rs/tokio/compare/tokio-1.7.3...tokio-1.8.0) ##### 1.8.0 (July 2, 2021) ##### Added - io: add `get_{ref,mut}` methods to `AsyncFdReadyGuard` and `AsyncFdReadyMutGuard` ([#&#8203;3807]) - io: efficient implementation of vectored writes for `BufWriter` ([#&#8203;3163]) - net: add ready/try methods to `NamedPipe{Client,Server}` ([#&#8203;3866], [#&#8203;3899]) - sync: add `watch::Receiver::borrow_and_update` ([#&#8203;3813]) - sync: implement `From<T>` for `OnceCell<T>` ([#&#8203;3877]) - time: allow users to specify Interval behaviour when delayed ([#&#8203;3721]) ##### Added (unstable) - rt: add `tokio::task::Builder` ([#&#8203;3881]) ##### Fixed - net: handle HUP event with `UnixStream` ([#&#8203;3898]) ##### Documented - doc: document cancellation safety ([#&#8203;3900]) - time: add wait alias to sleep ([#&#8203;3897]) - time: document auto-advancing behaviour of runtime ([#&#8203;3763]) [#&#8203;3163]: https://github.com/tokio-rs/tokio/pull/3163 [#&#8203;3721]: https://github.com/tokio-rs/tokio/pull/3721 [#&#8203;3763]: https://github.com/tokio-rs/tokio/pull/3763 [#&#8203;3807]: https://github.com/tokio-rs/tokio/pull/3807 [#&#8203;3813]: https://github.com/tokio-rs/tokio/pull/3813 [#&#8203;3866]: https://github.com/tokio-rs/tokio/pull/3866 [#&#8203;3877]: https://github.com/tokio-rs/tokio/pull/3877 [#&#8203;3881]: https://github.com/tokio-rs/tokio/pull/3881 [#&#8203;3897]: https://github.com/tokio-rs/tokio/pull/3897 [#&#8203;3898]: https://github.com/tokio-rs/tokio/pull/3898 [#&#8203;3899]: https://github.com/tokio-rs/tokio/pull/3899 [#&#8203;3900]: https://github.com/tokio-rs/tokio/pull/3900 ### [`v1.7.3`](https://github.com/tokio-rs/tokio/releases/tag/tokio-1.7.3) [Compare Source](https://github.com/tokio-rs/tokio/compare/tokio-1.7.2...tokio-1.7.3) Fixes a missed edge case from 1.7.2. ##### Fixed - runtime: drop canceled future on next poll ([#&#8203;3965](https://github.com/tokio-rs/tokio/issues/3965)) ### [`v1.7.2`](https://github.com/tokio-rs/tokio/releases/tag/tokio-1.7.2) [Compare Source](https://github.com/tokio-rs/tokio/compare/tokio-1.7.1...tokio-1.7.2) Forward ports 1.5.1 fixes. ##### Fixed - runtime: remotely abort tasks on `JoinHandle::abort` ([#&#8203;3934]) [#&#8203;3934]: https://github.com/tokio-rs/tokio/pull/3934 ### [`v1.7.1`](https://github.com/tokio-rs/tokio/releases/tag/tokio-1.7.1) [Compare Source](https://github.com/tokio-rs/tokio/compare/tokio-1.7.0...tokio-1.7.1) ##### Fixed - runtime: fix early task shutdown during runtime shutdown ([#&#8203;3870]) [#&#8203;3870]: https://github.com/tokio-rs/tokio/pull/3870 ### [`v1.7.0`](https://github.com/tokio-rs/tokio/releases/tag/tokio-1.7.0) [Compare Source](https://github.com/tokio-rs/tokio/compare/tokio-1.6.4...tokio-1.7.0) ##### 1.7.0 (June 15, 2021) ##### Added - net: add named pipes on windows ([#&#8203;3760](https://github.com/tokio-rs/tokio/issues/3760)) - net: add `TcpSocket` from `std::net::TcpStream` conversion ([#&#8203;3838](https://github.com/tokio-rs/tokio/issues/3838)) - sync: add `receiver_count` to `watch::Sender` ([#&#8203;3729](https://github.com/tokio-rs/tokio/issues/3729)) - sync: export `sync::notify::Notified` future publicly ([#&#8203;3840](https://github.com/tokio-rs/tokio/issues/3840)) - tracing: instrument task wakers ([#&#8203;3836](https://github.com/tokio-rs/tokio/issues/3836)) ##### Fixed - macros: suppress `clippy::default_numeric_fallback` lint in generated code ([#&#8203;3831](https://github.com/tokio-rs/tokio/issues/3831)) - runtime: immediately drop new tasks when runtime is shut down ([#&#8203;3752](https://github.com/tokio-rs/tokio/issues/3752)) - sync: deprecate unused `mpsc::RecvError` type ([#&#8203;3833](https://github.com/tokio-rs/tokio/issues/3833)) ##### Documented - io: clarify EOF condition for `AsyncReadExt::read_buf` ([#&#8203;3850](https://github.com/tokio-rs/tokio/issues/3850)) - io: clarify limits on return values of `AsyncWrite::poll_write` ([#&#8203;3820](https://github.com/tokio-rs/tokio/issues/3820)) - sync: add examples to Semaphore ([#&#8203;3808](https://github.com/tokio-rs/tokio/issues/3808)) ### [`v1.6.4`](https://github.com/tokio-rs/tokio/releases/tag/tokio-1.6.4) [Compare Source](https://github.com/tokio-rs/tokio/compare/tokio-1.6.3...tokio-1.6.4) Fixes a missed edge case from 1.6.3. ##### Fixed - runtime: drop canceled future on next poll ([#&#8203;3965](https://github.com/tokio-rs/tokio/issues/3965)) ### [`v1.6.3`](https://github.com/tokio-rs/tokio/releases/tag/tokio-1.6.3) [Compare Source](https://github.com/tokio-rs/tokio/compare/tokio-1.6.2...tokio-1.6.3) Forward ports 1.5.1 fixes. ##### Fixed - runtime: remotely abort tasks on `JoinHandle::abort` ([#&#8203;3934]) [#&#8203;3934]: https://github.com/tokio-rs/tokio/pull/3934 ### [`v1.6.2`](https://github.com/tokio-rs/tokio/releases/tag/tokio-1.6.2) [Compare Source](https://github.com/tokio-rs/tokio/compare/tokio-1.6.1...tokio-1.6.2) ##### Fixes - test: sub-ms `time:advance` regression introduced in 1.6 ([#&#8203;3852]) [#&#8203;3852]: https://github.com/tokio-rs/tokio/pull/3852 ### [`v1.6.1`](https://github.com/tokio-rs/tokio/releases/tag/tokio-1.6.1) [Compare Source](https://github.com/tokio-rs/tokio/compare/tokio-1.6.0...tokio-1.6.1) This release reverts [#&#8203;3518] because it doesn't work on some kernels due to a kernel bug. ([#&#8203;3803]) [#&#8203;3518]: https://github.com/tokio-rs/tokio/issues/3518 [#&#8203;3803]: https://github.com/tokio-rs/tokio/issues/3803 ### [`v1.6.0`](https://github.com/tokio-rs/tokio/releases/tag/tokio-1.6.0) [Compare Source](https://github.com/tokio-rs/tokio/compare/tokio-1.5.1...tokio-1.6.0) ##### 1.6.0 (May 14, 2021) ##### Added - fs: try doing a non-blocking read before punting to the threadpool ([#&#8203;3518](https://github.com/tokio-rs/tokio/issues/3518)) - io: add `write_all_buf` to `AsyncWriteExt` ([#&#8203;3737](https://github.com/tokio-rs/tokio/issues/3737)) - io: implement `AsyncSeek` for `BufReader`, `BufWriter`, and `BufStream` ([#&#8203;3491](https://github.com/tokio-rs/tokio/issues/3491)) - net: support non-blocking vectored I/O ([#&#8203;3761](https://github.com/tokio-rs/tokio/issues/3761)) - sync: add `mpsc::Sender::{reserve_owned, try_reserve_owned}` ([#&#8203;3704](https://github.com/tokio-rs/tokio/issues/3704)) - sync: add a `MutexGuard::map` method that returns a `MappedMutexGuard` ([#&#8203;2472](https://github.com/tokio-rs/tokio/issues/2472)) - time: add getter for Interval's period ([#&#8203;3705](https://github.com/tokio-rs/tokio/issues/3705)) ##### Fixed - io: wake pending writers on `DuplexStream` close ([#&#8203;3756](https://github.com/tokio-rs/tokio/issues/3756)) - process: avoid redundant effort to reap orphan processes ([#&#8203;3743](https://github.com/tokio-rs/tokio/issues/3743)) - signal: use `std::os::raw::c_int` instead of `libc::c_int` on public API ([#&#8203;3774](https://github.com/tokio-rs/tokio/issues/3774)) - sync: preserve permit state in `notify_waiters` ([#&#8203;3660](https://github.com/tokio-rs/tokio/issues/3660)) - task: update `JoinHandle` panic message ([#&#8203;3727](https://github.com/tokio-rs/tokio/issues/3727)) - time: prevent `time::advance` from going too far ([#&#8203;3712](https://github.com/tokio-rs/tokio/issues/3712)) ##### Documented - net: hide `net::unix::datagram` module from docs ([#&#8203;3775](https://github.com/tokio-rs/tokio/issues/3775)) - process: updated example ([#&#8203;3748](https://github.com/tokio-rs/tokio/issues/3748)) - sync: `Barrier` doc should use task, not thread ([#&#8203;3780](https://github.com/tokio-rs/tokio/issues/3780)) - task: update documentation on `block_in_place` ([#&#8203;3753](https://github.com/tokio-rs/tokio/issues/3753)) ### [`v1.5.1`](https://github.com/tokio-rs/tokio/releases/tag/tokio-1.5.1) [Compare Source](https://github.com/tokio-rs/tokio/compare/tokio-1.5.0...tokio-1.5.1) ##### Fixed - runtime: remotely abort tasks on `JoinHandle::abort` ([#&#8203;3934]) [#&#8203;3934]: https://github.com/tokio-rs/tokio/pull/3934 ### [`v1.5.0`](https://github.com/tokio-rs/tokio/releases/tag/tokio-1.5.0) [Compare Source](https://github.com/tokio-rs/tokio/compare/tokio-1.4.0...tokio-1.5.0) ### 1.5.0 (April 12, 2021) ##### Added - io: add `AsyncSeekExt::stream_position` ([#&#8203;3650](https://github.com/tokio-rs/tokio/issues/3650)) - io: add `AsyncWriteExt::write_vectored` ([#&#8203;3678](https://github.com/tokio-rs/tokio/issues/3678)) - io: add a `copy_bidirectional` utility ([#&#8203;3572](https://github.com/tokio-rs/tokio/issues/3572)) - net: implement `IntoRawFd` for `TcpSocket` ([#&#8203;3684](https://github.com/tokio-rs/tokio/issues/3684)) - sync: add `OnceCell` ([#&#8203;3591](https://github.com/tokio-rs/tokio/issues/3591)) - sync: add `OwnedRwLockReadGuard` and `OwnedRwLockWriteGuard` ([#&#8203;3340](https://github.com/tokio-rs/tokio/issues/3340)) - sync: add `Semaphore::is_closed` ([#&#8203;3673](https://github.com/tokio-rs/tokio/issues/3673)) - sync: add `mpsc::Sender::capacity` ([#&#8203;3690](https://github.com/tokio-rs/tokio/issues/3690)) - sync: allow configuring `RwLock` max reads ([#&#8203;3644](https://github.com/tokio-rs/tokio/issues/3644)) - task: add `sync_scope` for `LocalKey` ([#&#8203;3612](https://github.com/tokio-rs/tokio/issues/3612)) ##### Fixed - chore: try to avoid `noalias` attributes on intrusive linked list ([#&#8203;3654](https://github.com/tokio-rs/tokio/issues/3654)) - rt: fix panic in `JoinHandle::abort()` when called from other threads ([#&#8203;3672](https://github.com/tokio-rs/tokio/issues/3672)) - sync: don't panic in `oneshot::try_recv` ([#&#8203;3674](https://github.com/tokio-rs/tokio/issues/3674)) - sync: fix notifications getting dropped on receiver drop ([#&#8203;3652](https://github.com/tokio-rs/tokio/issues/3652)) - sync: fix `Semaphore` permit overflow calculation ([#&#8203;3644](https://github.com/tokio-rs/tokio/issues/3644)) ##### Documented - io: clarify requirements of `AsyncFd` ([#&#8203;3635](https://github.com/tokio-rs/tokio/issues/3635)) - runtime: fix unclear docs for `{Handle,Runtime}::block_on` ([#&#8203;3628](https://github.com/tokio-rs/tokio/issues/3628)) - sync: document that `Semaphore` is fair ([#&#8203;3693](https://github.com/tokio-rs/tokio/issues/3693)) - sync: improve doc on blocking mutex ([#&#8203;3645](https://github.com/tokio-rs/tokio/issues/3645)) ### [`v1.4.0`](https://github.com/tokio-rs/tokio/releases/tag/tokio-1.4.0) [Compare Source](https://github.com/tokio-rs/tokio/compare/tokio-1.3.0...tokio-1.4.0) ##### Added - macros: introduce biased argument for `select!` ([#&#8203;3603]) - runtime: add `Handle::block_on` ([#&#8203;3569]) ##### Fixed - runtime: avoid unnecessary polling of `block_on` future ([#&#8203;3582]) - runtime: fix memory leak/growth when creating many runtimes ([#&#8203;3564]) - runtime: mark `EnterGuard` with `must_use` ([#&#8203;3609]) ##### Documented - chore: mention fix for building docs in contributing guide ([#&#8203;3618]) - doc: add link to `PollSender` ([#&#8203;3613]) - doc: alias sleep to delay ([#&#8203;3604]) - sync: improve `Mutex` FIFO explanation ([#&#8203;3615]) - timer: fix double newline in module docs ([#&#8203;3617]) [#&#8203;3564]: https://github.com/tokio-rs/tokio/pull/3564 [#&#8203;3613]: https://github.com/tokio-rs/tokio/pull/3613 [#&#8203;3618]: https://github.com/tokio-rs/tokio/pull/3618 [#&#8203;3617]: https://github.com/tokio-rs/tokio/pull/3617 [#&#8203;3582]: https://github.com/tokio-rs/tokio/pull/3582 [#&#8203;3615]: https://github.com/tokio-rs/tokio/pull/3615 [#&#8203;3603]: https://github.com/tokio-rs/tokio/pull/3603 [#&#8203;3609]: https://github.com/tokio-rs/tokio/pull/3609 [#&#8203;3604]: https://github.com/tokio-rs/tokio/pull/3604 [#&#8203;3569]: https://github.com/tokio-rs/tokio/pull/3569 ### [`v1.3.0`](https://github.com/tokio-rs/tokio/releases/tag/tokio-1.3.0) [Compare Source](https://github.com/tokio-rs/tokio/compare/tokio-1.2.0...tokio-1.3.0) ##### Added - coop: expose an `unconstrained()` opt-out ([#&#8203;3547](https://github.com/tokio-rs/tokio/issues/3547)) - net: add `into_std` for net types without it ([#&#8203;3509](https://github.com/tokio-rs/tokio/issues/3509)) - sync: add `same_channel` method to `mpsc::Sender` ([#&#8203;3532](https://github.com/tokio-rs/tokio/issues/3532)) - sync: add `{try_,}acquire_many_owned` to `Semaphore` ([#&#8203;3535](https://github.com/tokio-rs/tokio/issues/3535)) - sync: add back `RwLockWriteGuard::map` and `RwLockWriteGuard::try_map` ([#&#8203;3348](https://github.com/tokio-rs/tokio/issues/3348)) ##### Fixed - sync: allow `oneshot::Receiver::close` after successful `try_recv` ([#&#8203;3552](https://github.com/tokio-rs/tokio/issues/3552)) - time: do not panic on `timeout(Duration::MAX)` ([#&#8203;3551](https://github.com/tokio-rs/tokio/issues/3551)) ##### Documented - doc: doc aliases for pre-1.0 function names ([#&#8203;3523](https://github.com/tokio-rs/tokio/issues/3523)) - io: fix typos ([#&#8203;3541](https://github.com/tokio-rs/tokio/issues/3541)) - io: note the EOF behaviour of `read_until` ([#&#8203;3536](https://github.com/tokio-rs/tokio/issues/3536)) - io: update `AsyncRead::poll_read` doc ([#&#8203;3557](https://github.com/tokio-rs/tokio/issues/3557)) - net: update `UdpSocket` splitting doc ([#&#8203;3517](https://github.com/tokio-rs/tokio/issues/3517)) - runtime: add link to `LocalSet` on `new_current_thread` ([#&#8203;3508](https://github.com/tokio-rs/tokio/issues/3508)) - runtime: update documentation of thread limits ([#&#8203;3527](https://github.com/tokio-rs/tokio/issues/3527)) - sync: do not recommend `join_all` for `Barrier` ([#&#8203;3514](https://github.com/tokio-rs/tokio/issues/3514)) - sync: documentation for `oneshot` ([#&#8203;3592](https://github.com/tokio-rs/tokio/issues/3592)) - sync: rename `notify` to `notify_one` ([#&#8203;3526](https://github.com/tokio-rs/tokio/issues/3526)) - time: fix typo in `Sleep` doc ([#&#8203;3515](https://github.com/tokio-rs/tokio/issues/3515)) - time: sync `interval.rs` and `time/mod.rs` docs ([#&#8203;3533](https://github.com/tokio-rs/tokio/issues/3533)) ### [`v1.2.0`](https://github.com/tokio-rs/tokio/releases/tag/tokio-1.2.0) [Compare Source](https://github.com/tokio-rs/tokio/compare/tokio-1.1.1...tokio-1.2.0) ##### Added - signal: make `Signal::poll_recv` method public ([#&#8203;3383](https://github.com/tokio-rs/tokio/issues/3383)) ##### Fixed - time: make `test-util` paused time fully deterministic ([#&#8203;3492](https://github.com/tokio-rs/tokio/issues/3492)) ##### Documented - sync: link to new broadcast and watch wrappers ([#&#8203;3504](https://github.com/tokio-rs/tokio/issues/3504)) ### [`v1.1.1`](https://github.com/tokio-rs/tokio/releases/tag/tokio-1.1.1) [Compare Source](https://github.com/tokio-rs/tokio/compare/tokio-1.1.0...tokio-1.1.1) Forward ports 1.0.3 fix. ##### Fixed - io: memory leak during shutdown ([#&#8203;3477](https://github.com/tokio-rs/tokio/issues/3477)). ### [`v1.1.0`](https://github.com/tokio-rs/tokio/releases/tag/tokio-1.1.0) [Compare Source](https://github.com/tokio-rs/tokio/compare/tokio-1.0.3...tokio-1.1.0) ##### Added - net: add `try_read_buf` and `try_recv_buf` ([#&#8203;3351](https://github.com/tokio-rs/tokio/issues/3351)) - mpsc: Add `Sender::try_reserve` function ([#&#8203;3418](https://github.com/tokio-rs/tokio/issues/3418)) - sync: add `RwLock` `try_read` and `try_write` methods ([#&#8203;3400](https://github.com/tokio-rs/tokio/issues/3400)) - io: add `ReadBuf::inner_mut` ([#&#8203;3443](https://github.com/tokio-rs/tokio/issues/3443)) ##### Changed - macros: improve `select!` error message ([#&#8203;3352](https://github.com/tokio-rs/tokio/issues/3352)) - io: keep track of initialized bytes in `read_to_end` ([#&#8203;3426](https://github.com/tokio-rs/tokio/issues/3426)) - runtime: consolidate errors for context missing ([#&#8203;3441](https://github.com/tokio-rs/tokio/issues/3441)) ##### Fixed - task: wake `LocalSet` on `spawn_local` ([#&#8203;3369](https://github.com/tokio-rs/tokio/issues/3369)) - sync: fix panic in broadcast::Receiver drop ([#&#8203;3434](https://github.com/tokio-rs/tokio/issues/3434)) ##### Documented - stream: link to new `Stream` wrappers in `tokio-stream` ([#&#8203;3343](https://github.com/tokio-rs/tokio/issues/3343)) - docs: mention that `test-util` feature is not enabled with full ([#&#8203;3397](https://github.com/tokio-rs/tokio/issues/3397)) - process: add documentation to process::Child fields ([#&#8203;3437](https://github.com/tokio-rs/tokio/issues/3437)) - io: clarify `AsyncFd` docs about changes of the inner fd ([#&#8203;3430](https://github.com/tokio-rs/tokio/issues/3430)) - net: update datagram docs on splitting ([#&#8203;3448](https://github.com/tokio-rs/tokio/issues/3448)) - time: document that `Sleep` is not `Unpin` ([#&#8203;3457](https://github.com/tokio-rs/tokio/issues/3457)) - sync: add link to `PollSemaphore` ([#&#8203;3456](https://github.com/tokio-rs/tokio/issues/3456)) - task: add `LocalSet` example ([#&#8203;3438](https://github.com/tokio-rs/tokio/issues/3438)) - sync: improve bounded `mpsc` documentation ([#&#8203;3458](https://github.com/tokio-rs/tokio/issues/3458)) ### [`v1.0.3`](https://github.com/tokio-rs/tokio/releases/tag/tokio-1.0.3) [Compare Source](https://github.com/tokio-rs/tokio/compare/tokio-1.0.2...tokio-1.0.3) ##### Fixed - io: memory leak during shutdown ([#&#8203;3477](https://github.com/tokio-rs/tokio/issues/3477)). ### [`v1.0.2`](https://github.com/tokio-rs/tokio/releases/tag/tokio-1.0.2) [Compare Source](https://github.com/tokio-rs/tokio/compare/tokio-1.0.1...tokio-1.0.2) ##### Fixed - io: soundness in `read_to_end` ([#&#8203;3428](https://github.com/tokio-rs/tokio/issues/3428)). </details> --- ### Configuration 📅 **Schedule**: At any time (no schedule defined). 🚦 **Automerge**: Enabled. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, click this checkbox. --- This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
kjuulh force-pushed renovate/tokio-1.x from 04e71231ac to 32cf3f720f 2022-10-26 17:04:34 +02:00 Compare
kjuulh force-pushed renovate/tokio-1.x from 32cf3f720f to 4bbd97f14a 2022-10-26 17:22:39 +02:00 Compare
kjuulh changed title from Update Rust crate tokio to 1.21 to Update Rust crate tokio to 1.21 - autoclosed 2022-10-26 19:53:25 +02:00
kjuulh closed this pull request 2022-10-26 19:53:25 +02:00
All checks were successful
continuous-integration/drone/push Build is passing
continuous-integration/drone/pr Build is passing

Pull request closed

Sign in to join this conversation.
No reviewers
No Label
No Milestone
No project
No Assignees
1 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: kjuulh/prae#6
No description provided.