Closed renovate[bot] closed 1 year ago
This PR contains the following updates:
1.0
1.29
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - 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 these updates again.
This PR has been generated by Mend Renovate. View repository job log here.
:tada: This PR is included in version 0.4.0 :tada:
The release is available on:
0.4.0
Your semantic-release bot :package::rocket:
This PR contains the following updates:
1.0
->1.29
1.0
->1.29
Release Notes
tokio-rs/tokio (tokio)
### [`v1.29.1`](https://togithub.com/tokio-rs/tokio/releases/tag/tokio-1.29.1): Tokio v1.29.1 [Compare Source](https://togithub.com/tokio-rs/tokio/compare/tokio-1.29.0...tokio-1.29.1) ##### Fixed - rt: fix nesting two `block_in_place` with a `block_on` between ([#5837]) [#5837]: https://togithub.com/tokio-rs/tokio/pull/5837 ### [`v1.29.0`](https://togithub.com/tokio-rs/tokio/releases/tag/tokio-1.29.0): Tokio v1.29.0 [Compare Source](https://togithub.com/tokio-rs/tokio/compare/tokio-1.28.2...tokio-1.29.0) 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]) [#5766]: https://togithub.com/tokio-rs/tokio/pull/5766 [#5653]: https://togithub.com/tokio-rs/tokio/pull/5653 [#5686]: https://togithub.com/tokio-rs/tokio/pull/5686 [#5712]: https://togithub.com/tokio-rs/tokio/pull/5712 [#5693]: https://togithub.com/tokio-rs/tokio/pull/5693 [#5772]: https://togithub.com/tokio-rs/tokio/pull/5772 [#5710]: https://togithub.com/tokio-rs/tokio/pull/5710 [#5803]: https://togithub.com/tokio-rs/tokio/pull/5803 [#5705]: https://togithub.com/tokio-rs/tokio/pull/5705 [#5720]: https://togithub.com/tokio-rs/tokio/pull/5720 [#5659]: https://togithub.com/tokio-rs/tokio/pull/5659 [#5628]: https://togithub.com/tokio-rs/tokio/pull/5628 [#5666]: https://togithub.com/tokio-rs/tokio/pull/5666 [#5672]: https://togithub.com/tokio-rs/tokio/pull/5672 [#5690]: https://togithub.com/tokio-rs/tokio/pull/5690 [#5704]: https://togithub.com/tokio-rs/tokio/pull/5704 [#5566]: https://togithub.com/tokio-rs/tokio/pull/5566 [#5721]: https://togithub.com/tokio-rs/tokio/pull/5721 [#5790]: https://togithub.com/tokio-rs/tokio/pull/5790 [#5608]: https://togithub.com/tokio-rs/tokio/pull/5608 [#5676]: https://togithub.com/tokio-rs/tokio/pull/5676 [#5708]: https://togithub.com/tokio-rs/tokio/pull/5708 [#5717]: https://togithub.com/tokio-rs/tokio/pull/5717 [#5685]: https://togithub.com/tokio-rs/tokio/pull/5685 ### [`v1.28.2`](https://togithub.com/tokio-rs/tokio/releases/tag/tokio-1.28.2): Tokio v1.28.2 [Compare Source](https://togithub.com/tokio-rs/tokio/compare/tokio-1.28.1...tokio-1.28.2) ##### 1.28.2 (May 28, 2023) Forward ports 1.18.6 changes. ##### Fixed - deps: disable default features for mio ([#5728]) [#5728]: https://togithub.com/tokio-rs/tokio/pull/5728 ### [`v1.28.1`](https://togithub.com/tokio-rs/tokio/releases/tag/tokio-1.28.1): Tokio v1.28.1 [Compare Source](https://togithub.com/tokio-rs/tokio/compare/tokio-1.28.0...tokio-1.28.1) ##### 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]) [#5677]: https://togithub.com/tokio-rs/tokio/pull/5677 ### [`v1.28.0`](https://togithub.com/tokio-rs/tokio/releases/tag/tokio-1.28.0): Tokio v1.28.0 [Compare Source](https://togithub.com/tokio-rs/tokio/compare/tokio-1.27.0...tokio-1.28.0) ##### 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]) [#5065]: https://togithub.com/tokio-rs/tokio/pull/5065 [#5503]: https://togithub.com/tokio-rs/tokio/pull/5503 [#5542]: https://togithub.com/tokio-rs/tokio/pull/5542 [#5578]: https://togithub.com/tokio-rs/tokio/pull/5578 [#5583]: https://togithub.com/tokio-rs/tokio/pull/5583 [#5587]: https://togithub.com/tokio-rs/tokio/pull/5587 [#5590]: https://togithub.com/tokio-rs/tokio/pull/5590 [#5591]: https://togithub.com/tokio-rs/tokio/pull/5591 [#5607]: https://togithub.com/tokio-rs/tokio/pull/5607 [#5610]: https://togithub.com/tokio-rs/tokio/pull/5610 [#5611]: https://togithub.com/tokio-rs/tokio/pull/5611 [#5612]: https://togithub.com/tokio-rs/tokio/pull/5612 [#5618]: https://togithub.com/tokio-rs/tokio/pull/5618 [#5621]: https://togithub.com/tokio-rs/tokio/pull/5621 [#5645]: https://togithub.com/tokio-rs/tokio/pull/5645 [#5647]: https://togithub.com/tokio-rs/tokio/pull/5647 ### [`v1.27.0`](https://togithub.com/tokio-rs/tokio/releases/tag/tokio-1.27.0): Tokio v1.27.0 [Compare Source](https://togithub.com/tokio-rs/tokio/compare/tokio-1.26.0...tokio-1.27.0) ##### 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]) [#5512]: https://togithub.com/tokio-rs/tokio/pull/5512 [#5514]: https://togithub.com/tokio-rs/tokio/pull/5514 [#5520]: https://togithub.com/tokio-rs/tokio/pull/5520 [#5525]: https://togithub.com/tokio-rs/tokio/pull/5525 [#5527]: https://togithub.com/tokio-rs/tokio/pull/5527 [#5540]: https://togithub.com/tokio-rs/tokio/pull/5540 [#5543]: https://togithub.com/tokio-rs/tokio/pull/5543 [#5553]: https://togithub.com/tokio-rs/tokio/pull/5553 [#5555]: https://togithub.com/tokio-rs/tokio/pull/5555 [#5557]: https://togithub.com/tokio-rs/tokio/pull/5557 [#5558]: https://togithub.com/tokio-rs/tokio/pull/5558 [#5559]: https://togithub.com/tokio-rs/tokio/pull/5559 [#5572]: https://togithub.com/tokio-rs/tokio/pull/5572 [#5573]: https://togithub.com/tokio-rs/tokio/pull/5573 [#5574]: https://togithub.com/tokio-rs/tokio/pull/5574 [#5575]: https://togithub.com/tokio-rs/tokio/pull/5575 [#5576]: https://togithub.com/tokio-rs/tokio/pull/5576 ### [`v1.26.0`](https://togithub.com/tokio-rs/tokio/releases/tag/tokio-1.26.0): Tokio v1.26.0 [Compare Source](https://togithub.com/tokio-rs/tokio/compare/tokio-1.25.1...tokio-1.26.0) ##### Fixed - macros: fix empty `join!` and `try_join!` ([[https://github.com/tokio-rs/tokio/pull/5504](https://togithub.com/tokio-rs/tokio/pull/5504)]) - sync: don't leak tracing spans in mutex guards ([[https://github.com/tokio-rs/tokio/pull/5469](https://togithub.com/tokio-rs/tokio/pull/5469)]) - sync: drop wakers after unlocking the mutex in Notify ([[https://github.com/tokio-rs/tokio/pull/5471](https://togithub.com/tokio-rs/tokio/pull/5471)]) - sync: drop wakers outside lock in semaphore ([[https://github.com/tokio-rs/tokio/pull/5475](https://togithub.com/tokio-rs/tokio/pull/5475)]) ##### Added - fs: add `fs::try_exists` ([[https://github.com/tokio-rs/tokio/pull/4299](https://togithub.com/tokio-rs/tokio/pull/4299)]) - net: add types for named unix pipes ([[https://github.com/tokio-rs/tokio/pull/5351](https://togithub.com/tokio-rs/tokio/pull/5351)]) - sync: add `MappedOwnedMutexGuard` ([[https://github.com/tokio-rs/tokio/pull/5474](https://togithub.com/tokio-rs/tokio/pull/5474)]) ##### Changed - chore: update windows-sys to 0.45 ([[https://github.com/tokio-rs/tokio/pull/5386](https://togithub.com/tokio-rs/tokio/pull/5386)]) - net: use Message Read Mode for named pipes ([[https://github.com/tokio-rs/tokio/pull/5350](https://togithub.com/tokio-rs/tokio/pull/5350)]) - sync: mark lock guards with `#[clippy::has_significant_drop]` ([[https://github.com/tokio-rs/tokio/pull/5422](https://togithub.com/tokio-rs/tokio/pull/5422)]) - sync: reduce contention in watch channel ([[https://github.com/tokio-rs/tokio/pull/5464](https://togithub.com/tokio-rs/tokio/pull/5464)]) - time: remove cache padding in timer entries ([[https://github.com/tokio-rs/tokio/pull/5468](https://togithub.com/tokio-rs/tokio/pull/5468)]) - time: Improve `Instant::now()` perf with test-util ([[https://github.com/tokio-rs/tokio/pull/5513](https://togithub.com/tokio-rs/tokio/pull/5513)]) ##### Internal Changes - io: use `poll_fn` in `copy_bidirectional` ([[https://github.com/tokio-rs/tokio/pull/5486](https://togithub.com/tokio-rs/tokio/pull/5486)]) - net: refactor named pipe builders to not use bitfields ([[https://github.com/tokio-rs/tokio/pull/5477](https://togithub.com/tokio-rs/tokio/pull/5477)]) - rt: remove Arc from Clock ([[https://github.com/tokio-rs/tokio/pull/5434](https://togithub.com/tokio-rs/tokio/pull/5434)]) - sync: make `notify_waiters` calls atomic ([[https://github.com/tokio-rs/tokio/pull/5458](https://togithub.com/tokio-rs/tokio/pull/5458)]) - time: don't store deadline twice in sleep entries ([[https://github.com/tokio-rs/tokio/pull/5410](https://togithub.com/tokio-rs/tokio/pull/5410)]) ##### Unstable - metrics: add a new metric for budget exhaustion yields ([[https://github.com/tokio-rs/tokio/pull/5517](https://togithub.com/tokio-rs/tokio/pull/5517)]) ##### Documented - io: improve AsyncFd example ([[https://github.com/tokio-rs/tokio/pull/5481](https://togithub.com/tokio-rs/tokio/pull/5481)]) - runtime: document the nature of the main future ([[https://github.com/tokio-rs/tokio/pull/5494](https://togithub.com/tokio-rs/tokio/pull/5494)]) - runtime: remove extra period in docs ([[https://github.com/tokio-rs/tokio/pull/5511](https://togithub.com/tokio-rs/tokio/pull/5511)]) - signal: updated Documentation for Signals ([[https://github.com/tokio-rs/tokio/pull/5459](https://togithub.com/tokio-rs/tokio/pull/5459)]) - sync: add doc aliases for `blocking_*` methods ([[https://github.com/tokio-rs/tokio/pull/5448](https://togithub.com/tokio-rs/tokio/pull/5448)]) - sync: fix docs for Send/Sync bounds in broadcast ([[https://github.com/tokio-rs/tokio/pull/5480](https://togithub.com/tokio-rs/tokio/pull/5480)]) - sync: document drop behavior for channels ([[https://github.com/tokio-rs/tokio/pull/5497](https://togithub.com/tokio-rs/tokio/pull/5497)]) - task: clarify what happens to spawned work during runtime shutdown ([[https://github.com/tokio-rs/tokio/pull/5394](https://togithub.com/tokio-rs/tokio/pull/5394)]) - task: clarify `process::Command` docs ([[https://github.com/tokio-rs/tokio/pull/5413](https://togithub.com/tokio-rs/tokio/pull/5413)]) - task: fix wording with 'unsend' ([[https://github.com/tokio-rs/tokio/pull/5452](https://togithub.com/tokio-rs/tokio/pull/5452)]) - time: document immediate completion guarantee for timeouts ([[https://github.com/tokio-rs/tokio/pull/5509](https://togithub.com/tokio-rs/tokio/pull/5509)]) - tokio: document supported platforms ([[https://github.com/tokio-rs/tokio/pull/5483](https://togithub.com/tokio-rs/tokio/pull/5483)]) [https://github.com/tokio-rs/tokio/pull/4299]: https://togithub.com/tokio-rs/tokio/pull/4299 [https://github.com/tokio-rs/tokio/pull/5350]: https://togithub.com/tokio-rs/tokio/pull/5350 [https://github.com/tokio-rs/tokio/pull/5351]: https://togithub.com/tokio-rs/tokio/pull/5351 [https://github.com/tokio-rs/tokio/pull/5386]: https://togithub.com/tokio-rs/tokio/pull/5386 [https://github.com/tokio-rs/tokio/pull/5394]: https://togithub.com/tokio-rs/tokio/pull/5394 [https://github.com/tokio-rs/tokio/pull/5410]: https://togithub.com/tokio-rs/tokio/pull/5410 [https://github.com/tokio-rs/tokio/pull/5413]: https://togithub.com/tokio-rs/tokio/pull/5413 [https://github.com/tokio-rs/tokio/pull/5422]: https://togithub.com/tokio-rs/tokio/pull/5422 [https://github.com/tokio-rs/tokio/pull/5434]: https://togithub.com/tokio-rs/tokio/pull/5434 [https://github.com/tokio-rs/tokio/pull/5448]: https://togithub.com/tokio-rs/tokio/pull/5448 [https://github.com/tokio-rs/tokio/pull/5452]: https://togithub.com/tokio-rs/tokio/pull/5452 [https://github.com/tokio-rs/tokio/pull/5458]: https://togithub.com/tokio-rs/tokio/pull/5458 [https://github.com/tokio-rs/tokio/pull/5459]: https://togithub.com/tokio-rs/tokio/pull/5459 [https://github.com/tokio-rs/tokio/pull/5464]: https://togithub.com/tokio-rs/tokio/pull/5464 [https://github.com/tokio-rs/tokio/pull/5468]: https://togithub.com/tokio-rs/tokio/pull/5468 [https://github.com/tokio-rs/tokio/pull/5469]: https://togithub.com/tokio-rs/tokio/pull/5469 [https://github.com/tokio-rs/tokio/pull/5471]: https://togithub.com/tokio-rs/tokio/pull/5471 [https://github.com/tokio-rs/tokio/pull/5474]: https://togithub.com/tokio-rs/tokio/pull/5474 [https://github.com/tokio-rs/tokio/pull/5475]: https://togithub.com/tokio-rs/tokio/pull/5475 [https://github.com/tokio-rs/tokio/pull/5477]: https://togithub.com/tokio-rs/tokio/pull/5477 [https://github.com/tokio-rs/tokio/pull/5480]: https://togithub.com/tokio-rs/tokio/pull/5480 [https://github.com/tokio-rs/tokio/pull/5481]: https://togithub.com/tokio-rs/tokio/pull/5481 [https://github.com/tokio-rs/tokio/pull/5483]: https://togithub.com/tokio-rs/tokio/pull/5483 [https://github.com/tokio-rs/tokio/pull/5486]: https://togithub.com/tokio-rs/tokio/pull/5486 [https://github.com/tokio-rs/tokio/pull/5494]: https://togithub.com/tokio-rs/tokio/pull/5494 [https://github.com/tokio-rs/tokio/pull/5497]: https://togithub.com/tokio-rs/tokio/pull/5497 [https://github.com/tokio-rs/tokio/pull/5504]: https://togithub.com/tokio-rs/tokio/pull/5504 [https://github.com/tokio-rs/tokio/pull/5509]: https://togithub.com/tokio-rs/tokio/pull/5509 [https://github.com/tokio-rs/tokio/pull/5511]: https://togithub.com/tokio-rs/tokio/pull/5511 [https://github.com/tokio-rs/tokio/pull/5513]: https://togithub.com/tokio-rs/tokio/pull/5513 [https://github.com/tokio-rs/tokio/pull/5517]: https://togithub.com/tokio-rs/tokio/pull/5517 ### [`v1.25.1`](https://togithub.com/tokio-rs/tokio/releases/tag/tokio-1.25.1): Tokio v1.25.1 [Compare Source](https://togithub.com/tokio-rs/tokio/compare/tokio-1.25.0...tokio-1.25.1) ### 1.25.1 (May 28, 2023) Forward ports 1.18.6 changes. ##### Fixed - deps: disable default features for mio ([#5728]) [#5728]: https://togithub.com/tokio-rs/tokio/pull/5728 ### [`v1.25.0`](https://togithub.com/tokio-rs/tokio/releases/tag/tokio-1.25.0): Tokio v1.25.0 ### 1.25.0 (January 28, 2023) ##### Fixed - rt: fix runtime metrics reporting ([#5330]) ##### Added - sync: add `broadcast::Sender::len` ([#5343]) ##### Changed - fs: increase maximum read buffer size to 2MiB ([#5397]) [#5330]: https://togithub.com/tokio-rs/tokio/pull/5330 [#5343]: https://togithub.com/tokio-rs/tokio/pull/5343 [#5397]: https://togithub.com/tokio-rs/tokio/pull/5397 ### [`v1.24.1`](https://togithub.com/tokio-rs/tokio/releases/tag/tokio-1.24.1): Tokio v1.24.1 [Compare Source](https://togithub.com/tokio-rs/tokio/compare/tokio-1.24.0...tokio-1.24.1) This release fixes a compilation failure on targets without `AtomicU64` when using rustc older than 1.63. ([#5356]) [#5356]: https://togithub.com/tokio-rs/tokio/pull/5356 ### [`v1.24.0`](https://togithub.com/tokio-rs/tokio/releases/tag/tokio-1.24.0): Tokio v1.24.0 [Compare Source](https://togithub.com/tokio-rs/tokio/compare/tokio-1.23.1...tokio-1.24.0) The highlight of this release is the reduction of lock contention for all I/O operations ([#5300](https://togithub.com/tokio-rs/tokio/issues/5300)). We have received reports of up to a 20% improvement in CPU utilization and increased throughput for real-world I/O heavy applications. ##### Fixed - rt: improve native `AtomicU64` support detection ([#5284]) ##### Added - rt: add configuration option for max number of I/O events polled from the OS per tick ([#5186]) - rt: add an environment variable for configuring the default number of worker threads per runtime instance ([#4250]) ##### Changed - sync: reduce MPSC channel stack usage ([#5294]) - io: reduce lock contention in I/O operations ([#5300]) - fs: speed up `read_dir()` by chunking operations ([#5309]) - rt: use internal `ThreadId` implementation ([#5329]) - test: don't auto-advance time when a `spawn_blocking` task is running ([#5115]) [#5186]: https://togithub.com/tokio-rs/tokio/pull/5186 [#5294]: https://togithub.com/tokio-rs/tokio/pull/5294 [#5284]: https://togithub.com/tokio-rs/tokio/pull/5284 [#4250]: https://togithub.com/tokio-rs/tokio/pull/4250 [#5300]: https://togithub.com/tokio-rs/tokio/pull/5300 [#5329]: https://togithub.com/tokio-rs/tokio/pull/5329 [#5115]: https://togithub.com/tokio-rs/tokio/pull/5115 [#5309]: https://togithub.com/tokio-rs/tokio/pull/5309 ### [`v1.23.1`](https://togithub.com/tokio-rs/tokio/releases/tag/tokio-1.23.1): Tokio v1.23.1 [Compare Source](https://togithub.com/tokio-rs/tokio/compare/tokio-1.23.0...tokio-1.23.1) This release forward ports changes from 1.18.4. ##### Fixed - net: fix Windows named pipe server builder to maintain option when toggling pipe mode ([#5336]). [#5336]: https://togithub.com/tokio-rs/tokio/pull/5336 ### [`v1.23.0`](https://togithub.com/tokio-rs/tokio/releases/tag/tokio-1.23.0): Tokio v1.23.0 [Compare Source](https://togithub.com/tokio-rs/tokio/compare/tokio-1.22.0...tokio-1.23.0) ##### Fixed - net: fix Windows named pipe connect ([#5208]) - io: support vectored writes for `ChildStdin` ([#5216]) - io: fix `async fn ready()` false positive for OS-specific events ([#5231]) ##### Changed - runtime: `yield_now` defers task until after driver poll ([#5223]) - runtime: reduce amount of codegen needed per spawned task ([#5213]) - windows: replace `winapi` dependency with `windows-sys` ([#5204]) [#5208]: https://togithub.com/tokio-rs/tokio/pull/5208 [#5216]: https://togithub.com/tokio-rs/tokio/pull/5216 [#5213]: https://togithub.com/tokio-rs/tokio/pull/5213 [#5204]: https://togithub.com/tokio-rs/tokio/pull/5204 [#5223]: https://togithub.com/tokio-rs/tokio/pull/5223 [#5231]: https://togithub.com/tokio-rs/tokio/pull/5231 ### [`v1.22.0`](https://togithub.com/tokio-rs/tokio/releases/tag/tokio-1.22.0): Tokio v1.22.0 [Compare Source](https://togithub.com/tokio-rs/tokio/compare/tokio-1.21.2...tokio-1.22.0) ##### Added - runtime: add `Handle::runtime_flavor` ([#5138]) - sync: add `Mutex::blocking_lock_owned` ([#5130]) - sync: add `Semaphore::MAX_PERMITS` ([#5144]) - sync: add `merge()` to semaphore permits ([#4948]) - sync: add `mpsc::WeakUnboundedSender` ([#5189]) ##### Added (unstable) - process: add `Command::process_group` ([#5114]) - runtime: export metrics about the blocking thread pool ([#5161]) - task: add `task::id()` and `task::try_id()` ([#5171]) ##### Fixed - macros: don't take ownership of futures in macros ([#5087]) - runtime: fix Stacked Borrows violation in `LocalOwnedTasks` ([#5099]) - runtime: mitigate ABA with 32-bit queue indices when possible ([#5042]) - task: wake local tasks to the local queue when woken by the same thread ([#5095]) - time: panic in release mode when `mark_pending` called illegally ([#5093]) - runtime: fix typo in expect message ([#5169]) - runtime: fix `unsync_load` on atomic types ([#5175]) - task: elaborate safety comments in task deallocation ([#5172]) - runtime: fix `LocalSet` drop in thread local ([#5179]) - net: remove libc type leakage in a public API ([#5191]) - runtime: update the alignment of `CachePadded` ([#5106]) ##### Changed - io: make `tokio::io::copy` continue filling the buffer when writer stalls ([#5066]) - runtime: remove `coop::budget` from `LocalSet::run_until` ([#5155]) - sync: make `Notify` panic safe ([#5154]) ##### Documented - io: fix doc for `write_i8` to use signed integers ([#5040]) - net: fix doc typos for TCP and UDP `set_tos` methods ([#5073]) - net: fix function name in `UdpSocket::recv` documentation ([#5150]) - sync: typo in `TryLockError` for `RwLock::try_write` ([#5160]) - task: document that spawned tasks execute immediately ([#5117]) - time: document return type of `timeout` ([#5118]) - time: document that `timeout` checks only before poll ([#5126]) - sync: specify return type of `oneshot::Receiver` in docs ([#5198]) ##### Internal changes - runtime: use const `Mutex::new` for globals ([#5061]) - runtime: remove `Option` around `mio::Events` in io driver ([#5078]) - runtime: remove a conditional compilation clause ([#5104]) - runtime: remove a reference to internal time handle ([#5107]) - runtime: misc time driver cleanup ([#5120]) - runtime: move signal driver to runtime module ([#5121]) - runtime: signal driver now uses I/O driver directly ([#5125]) - runtime: start decoupling I/O driver and I/O handle ([#5127]) - runtime: switch `io::handle` refs with scheduler:Handle ([#5128]) - runtime: remove Arc from I/O driver ([#5134]) - runtime: use signal driver handle via `scheduler::Handle` ([#5135]) - runtime: move internal clock fns out of context ([#5139]) - runtime: remove `runtime::context` module ([#5140]) - runtime: keep driver cfgs in `driver.rs` ([#5141]) - runtime: add `runtime::context` to unify thread-locals ([#5143]) - runtime: rename some confusing internal variables/fns ([#5151]) - runtime: move `coop` mod into `runtime` ([#5152]) - runtime: move budget state to context thread-local ([#5157]) - runtime: move park logic into runtime module ([#5158]) - runtime: move `Runtime` into its own file ([#5159]) - runtime: unify entering a runtime with `Handle::enter` ([#5163]) - runtime: remove handle reference from each scheduler ([#5166]) - runtime: move `enter` into `context` ([#5167]) - runtime: combine context and entered thread-locals ([#5168]) - runtime: fix accidental unsetting of current handle ([#5178]) - runtime: move `CoreStage` methods to `Core` ([#5182]) - sync: name mpsc semaphore types ([#5146]) [#4948]: https://togithub.com/tokio-rs/tokio/pull/4948 [#5040]: https://togithub.com/tokio-rs/tokio/pull/5040 [#5042]: https://togithub.com/tokio-rs/tokio/pull/5042 [#5061]: https://togithub.com/tokio-rs/tokio/pull/5061 [#5066]: https://togithub.com/tokio-rs/tokio/pull/5066 [#5073]: https://togithub.com/tokio-rs/tokio/pull/5073 [#5078]: https://togithub.com/tokio-rs/tokio/pull/5078 [#5087]: https://togithub.com/tokio-rs/tokio/pull/5087 [#5093]: https://togithub.com/tokio-rs/tokio/pull/5093 [#5095]: https://togithub.com/tokio-rs/tokio/pull/5095 [#5099]: https://togithub.com/tokio-rs/tokio/pull/5099 [#5104]: https://togithub.com/tokio-rs/tokio/pull/5104 [#5106]: https://togithub.com/tokio-rs/tokio/pull/5106 [#5107]: https://togithub.com/tokio-rs/tokio/pull/5107 [#5114]: https://togithub.com/tokio-rs/tokio/pull/5114 [#5117]: https://togithub.com/tokio-rs/tokio/pull/5117 [#5118]: https://togithub.com/tokio-rs/tokio/pull/5118 [#5120]: https://togithub.com/tokio-rs/tokio/pull/5120 [#5121]: https://togithub.com/tokio-rs/tokio/pull/5121 [#5125]: https://togithub.com/tokio-rs/tokio/pull/5125 [#5126]: https://togithub.com/tokio-rs/tokio/pull/5126 [#5127]: https://togithub.com/tokio-rs/tokio/pull/5127 [#5128]: https://togithub.com/tokio-rs/tokio/pull/5128 [#5130]: https://togithub.com/tokio-rs/tokio/pull/5130 [#5134]: https://togithub.com/tokio-rs/tokio/pull/5134 [#5135]: https://togithub.com/tokio-rs/tokio/pull/5135 [#5138]: https://togithub.com/tokio-rs/tokio/pull/5138 [#5138]: https://togithub.com/tokio-rs/tokio/pull/5138 [#5139]: https://togithub.com/tokio-rs/tokio/pull/5139 [#5140]: https://togithub.com/tokio-rs/tokio/pull/5140 [#5141]: https://togithub.com/tokio-rs/tokio/pull/5141 [#5143]: https://togithub.com/tokio-rs/tokio/pull/5143 [#5144]: https://togithub.com/tokio-rs/tokio/pull/5144 [#5144]: https://togithub.com/tokio-rs/tokio/pull/5144 [#5146]: https://togithub.com/tokio-rs/tokio/pull/5146 [#5150]: https://togithub.com/tokio-rs/tokio/pull/5150 [#5151]: https://togithub.com/tokio-rs/tokio/pull/5151 [#5152]: https://togithub.com/tokio-rs/tokio/pull/5152 [#5154]: https://togithub.com/tokio-rs/tokio/pull/5154 [#5155]: https://togithub.com/tokio-rs/tokio/pull/5155 [#5157]: https://togithub.com/tokio-rs/tokio/pull/5157 [#5158]: https://togithub.com/tokio-rs/tokio/pull/5158 [#5159]: https://togithub.com/tokio-rs/tokio/pull/5159 [#5160]: https://togithub.com/tokio-rs/tokio/pull/5160 [#5161]: https://togithub.com/tokio-rs/tokio/pull/5161 [#5163]: https://togithub.com/tokio-rs/tokio/pull/5163 [#5166]: https://togithub.com/tokio-rs/tokio/pull/5166 [#5167]: https://togithub.com/tokio-rs/tokio/pull/5167 [#5168]: https://togithub.com/tokio-rs/tokio/pull/5168 [#5169]: https://togithub.com/tokio-rs/tokio/pull/5169 [#5171]: https://togithub.com/tokio-rs/tokio/pull/5171 [#5172]: https://togithub.com/tokio-rs/tokio/pull/5172 [#5175]: https://togithub.com/tokio-rs/tokio/pull/5175 [#5178]: https://togithub.com/tokio-rs/tokio/pull/5178 [#5179]: https://togithub.com/tokio-rs/tokio/pull/5179 [#5182]: https://togithub.com/tokio-rs/tokio/pull/5182 [#5189]: https://togithub.com/tokio-rs/tokio/pull/5189 [#5191]: https://togithub.com/tokio-rs/tokio/pull/5191 [#5198]: https://togithub.com/tokio-rs/tokio/pull/5198 ### [`v1.21.2`](https://togithub.com/tokio-rs/tokio/releases/tag/tokio-1.21.2): Tokio v1.21.2 [Compare Source](https://togithub.com/tokio-rs/tokio/compare/tokio-1.21.1...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. ([#5048]) [#5048]: https://togithub.com/tokio-rs/tokio/pull/5048 ### [`v1.21.1`](https://togithub.com/tokio-rs/tokio/releases/tag/tokio-1.21.1): Tokio v1.21.1 [Compare Source](https://togithub.com/tokio-rs/tokio/compare/tokio-1.21.0...tokio-1.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]) [#4976]: https://togithub.com/tokio-rs/tokio/pull/4976 [#5000]: https://togithub.com/tokio-rs/tokio/pull/5000 ### [`v1.21.0`](https://togithub.com/tokio-rs/tokio/releases/tag/tokio-1.21.0): Tokio v1.21.0 [Compare Source](https://togithub.com/tokio-rs/tokio/compare/tokio-1.20.5...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 ([#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]) [#4595]: https://togithub.com/tokio-rs/tokio/pull/4595 [#4716]: https://togithub.com/tokio-rs/tokio/pull/4716 [#4765]: https://togithub.com/tokio-rs/tokio/pull/4765 [#4805]: https://togithub.com/tokio-rs/tokio/pull/4805 [#4811]: https://togithub.com/tokio-rs/tokio/pull/4811 [#4823]: https://togithub.com/tokio-rs/tokio/pull/4823 [#4824]: https://togithub.com/tokio-rs/tokio/pull/4824 [#4837]: https://togithub.com/tokio-rs/tokio/pull/4837 [#4840]: https://togithub.com/tokio-rs/tokio/pull/4840 [#4841]: https://togithub.com/tokio-rs/tokio/pull/4841 [#4845]: https://togithub.com/tokio-rs/tokio/pull/4845 [#4848]: https://togithub.com/tokio-rs/tokio/pull/4848 [#4849]: https://togithub.com/tokio-rs/tokio/pull/4849 [#4852]: https://togithub.com/tokio-rs/tokio/pull/4852 [#4858]: https://togithub.com/tokio-rs/tokio/pull/4858 [#4867]: https://togithub.com/tokio-rs/tokio/pull/4867 [#4877]: https://togithub.com/tokio-rs/tokio/pull/4877 [#4882]: https://togithub.com/tokio-rs/tokio/pull/4882 [#4886]: https://togithub.com/tokio-rs/tokio/pull/4886 [#4893]: https://togithub.com/tokio-rs/tokio/pull/4893 [#4894]: https://togithub.com/tokio-rs/tokio/pull/4894 [#4897]: https://togithub.com/tokio-rs/tokio/pull/4897 [#4898]: https://togithub.com/tokio-rs/tokio/pull/4898 [#4901]: https://togithub.com/tokio-rs/tokio/pull/4901 [#4904]: https://togithub.com/tokio-rs/tokio/pull/4904 [#4920]: https://togithub.com/tokio-rs/tokio/pull/4920 [#4924]: https://togithub.com/tokio-rs/tokio/pull/4924 [#4928]: https://togithub.com/tokio-rs/tokio/pull/4928 [#4935]: https://togithub.com/tokio-rs/tokio/pull/4935 [#4936]: https://togithub.com/tokio-rs/tokio/pull/4936 [#4937]: https://togithub.com/tokio-rs/tokio/pull/4937 [#4942]: https://togithub.com/tokio-rs/tokio/pull/4942 [#4945]: https://togithub.com/tokio-rs/tokio/pull/4945 [#4951]: https://togithub.com/tokio-rs/tokio/pull/4951 [#4953]: https://togithub.com/tokio-rs/tokio/pull/4953 [#4956]: https://togithub.com/tokio-rs/tokio/pull/4956 [#4959]: https://togithub.com/tokio-rs/tokio/pull/4959 ### [`v1.20.5`](https://togithub.com/tokio-rs/tokio/releases/tag/tokio-1.20.5): Tokio v1.20.5 [Compare Source](https://togithub.com/tokio-rs/tokio/compare/tokio-1.20.4...tokio-1.20.5) ### 1.20.5 (May 28, 2023) Forward ports 1.18.6 changes. ##### Fixed - deps: disable default features for mio ([#5728]) [#5728]: https://togithub.com/tokio-rs/tokio/pull/5728 ### [`v1.20.4`](https://togithub.com/tokio-rs/tokio/compare/tokio-1.20.3...tokio-1.20.4) [Compare Source](https://togithub.com/tokio-rs/tokio/compare/tokio-1.20.3...tokio-1.20.4) ### [`v1.20.3`](https://togithub.com/tokio-rs/tokio/compare/tokio-1.20.2...tokio-1.20.3) [Compare Source](https://togithub.com/tokio-rs/tokio/compare/tokio-1.20.2...tokio-1.20.3) ### [`v1.20.2`](https://togithub.com/tokio-rs/tokio/releases/tag/tokio-1.20.2): Tokio v1.20.2 [Compare Source](https://togithub.com/tokio-rs/tokio/compare/tokio-1.20.1...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. ([#5048]) [#5048]: https://togithub.com/tokio-rs/tokio/pull/5048 ### [`v1.20.1`](https://togithub.com/tokio-rs/tokio/releases/tag/tokio-1.20.1): Tokio v1.20.1 [Compare Source](https://togithub.com/tokio-rs/tokio/compare/tokio-1.20.0...tokio-1.20.1) ### 1.20.1 (July 25, 2022) ##### Fixed - chore: fix version detection in build script ([#4860]) [#4860]: https://togithub.com/tokio-rs/tokio/pull/4860 ### [`v1.20.0`](https://togithub.com/tokio-rs/tokio/releases/tag/tokio-1.20.0): Tokio v1.20.0 [Compare Source](https://togithub.com/tokio-rs/tokio/compare/tokio-1.19.2...tokio-1.20.0) ### 1.20.0 (July 12, 2022) ##### Added - tokio: add track_caller to public APIs ([#4772], [#4791], [#4793], [#4806], [#4808]) - sync: Add `has_changed` method to `watch::Ref` ([#4758]) ##### 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]) [#4677]: https://togithub.com/tokio-rs/tokio/pull/4677 [#4741]: https://togithub.com/tokio-rs/tokio/pull/4741 [#4755]: https://togithub.com/tokio-rs/tokio/pull/4755 [#4758]: https://togithub.com/tokio-rs/tokio/pull/4758 [#4762]: https://togithub.com/tokio-rs/tokio/pull/4762 [#4764]: https://togithub.com/tokio-rs/tokio/pull/4764 [#4766]: https://togithub.com/tokio-rs/tokio/pull/4766 [#4767]: https://togithub.com/tokio-rs/tokio/pull/4767 [#4769]: https://togithub.com/tokio-rs/tokio/pull/4769 [#4770]: https://togithub.com/tokio-rs/tokio/pull/4770 [#4772]: https://togithub.com/tokio-rs/tokio/pull/4772 [#4777]: https://togithub.com/tokio-rs/tokio/pull/4777 [#4791]: https://togithub.com/tokio-rs/tokio/pull/4791 [#4793]: https://togithub.com/tokio-rs/tokio/pull/4793 [#4795]: https://togithub.com/tokio-rs/tokio/pull/4795 [#4798]: https://togithub.com/tokio-rs/tokio/pull/4798 [#4806]: https://togithub.com/tokio-rs/tokio/pull/4806 [#4808]: https://togithub.com/tokio-rs/tokio/pull/4808 ### [`v1.19.2`](https://togithub.com/tokio-rs/tokio/releases/tag/tokio-1.19.2): Tokio v1.19.2 [Compare Source](https://togithub.com/tokio-rs/tokio/compare/tokio-1.19.1...tokio-1.19.2) ### 1.19.2 (June 6, 2022) This release fixes another bug in `Notified::enable`. ([#4751]) [#4751]: https://togithub.com/tokio-rs/tokio/pull/4751 ### [`v1.19.1`](https://togithub.com/tokio-rs/tokio/releases/tag/tokio-1.19.1): Tokio v1.19.1 [Compare Source](https://togithub.com/tokio-rs/tokio/compare/tokio-1.19.0...tokio-1.19.1) ##### 1.19.1 (June 5, 2022) This release fixes a bug in `Notified::enable`. ([#4747]) [#4747]: https://togithub.com/tokio-rs/tokio/pull/4747 ### [`v1.19.0`](https://togithub.com/tokio-rs/tokio/releases/tag/tokio-1.19.0): Tokio v1.19.0 [Compare Source](https://togithub.com/tokio-rs/tokio/compare/tokio-1.18.6...tokio-1.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]) [#4498]: https://togithub.com/tokio-rs/tokio/pull/4498 [#4591]: https://togithub.com/tokio-rs/tokio/pull/4591 [#4607]: https://togithub.com/tokio-rs/tokio/pull/4607 [#4624]: https://togithub.com/tokio-rs/tokio/pull/4624 [#4656]: https://togithub.com/tokio-rs/tokio/pull/4656 [#4671]: https://togithub.com/tokio-rs/tokio/pull/4671 [#4682]: https://togithub.com/tokio-rs/tokio/pull/4682 [#4683]: https://togithub.com/tokio-rs/tokio/pull/4683 [#4687]: https://togithub.com/tokio-rs/tokio/pull/4687 [#4697]: https://togithub.com/tokio-rs/tokio/pull/4697 [#4705]: https://togithub.com/tokio-rs/tokio/pull/4705 [#4709]: https://togithub.com/tokio-rs/tokio/pull/4709 [#4713]: https://togithub.com/tokio-rs/tokio/pull/4713 [#4725]: https://togithub.com/tokio-rs/tokio/pull/4725 [#4726]: https://togithub.com/tokio-rs/tokio/pull/4726 [#4729]: https://togithub.com/tokio-rs/tokio/pull/4729 [#4739]: https://togithub.com/tokio-rs/tokio/pull/4739 ### [`v1.18.6`](https://togithub.com/tokio-rs/tokio/releases/tag/tokio-1.18.6): Tokio v1.18.6 [Compare Source](https://togithub.com/tokio-rs/tokio/compare/tokio-1.18.5...tokio-1.18.6) ##### 1.18.6 (May 28, 2023) ##### Fixed - deps: disable default features for mio ([#5728]) [#5728]: https://togithub.com/tokio-rs/tokio/pull/5728 ### [`v1.18.5`](https://togithub.com/tokio-rs/tokio/compare/tokio-1.18.4...tokio-1.18.5) [Compare Source](https://togithub.com/tokio-rs/tokio/compare/tokio-1.18.4...tokio-1.18.5) ### [`v1.18.4`](https://togithub.com/tokio-rs/tokio/compare/tokio-1.18.3...tokio-1.18.4) [Compare Source](https://togithub.com/tokio-rs/tokio/compare/tokio-1.18.3...tokio-1.18.4) ### [`v1.18.3`](https://togithub.com/tokio-rs/tokio/releases/tag/tokio-1.18.3): Tokio v1.18.3 [Compare Source](https://togithub.com/tokio-rs/tokio/compare/tokio-1.18.2...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. ([#5048]) [#5048]: https://togithub.com/tokio-rs/tokio/pull/5048 ### [`v1.18.2`](https://togithub.com/tokio-rs/tokio/releases/tag/tokio-1.18.2): Tokio v1.18.2 [Compare Source](https://togithub.com/tokio-rs/tokio/compare/tokio-1.18.1...tokio-1.18.2) ##### 1.18.2 (May 5, 2022) Add missing features for the `winapi` dependency. ([#4663]) [#4663]: https://togithub.com/tokio-rs/tokio/pull/4663 ### [`v1.18.1`](https://togithub.com/tokio-rs/tokio/releases/tag/tokio-1.18.1): Tokio v1.18.1 [Compare Source](https://togithub.com/tokio-rs/tokio/compare/tokio-1.18.0...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. ([#4649]) [#4649]: https://togithub.com/tokio-rs/tokio/pull/4649 ### [`v1.18.0`](https://togithub.com/tokio-rs/tokio/releases/tag/tokio-1.18.0): Tokio v1.18.0 [Compare Source](https://togithub.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` ([#4616](https://togithub.com/tokio-rs/tokio/issues/4616)) - macros: fix `select` macro to process 64 branches ([#4519](https://togithub.com/tokio-rs/tokio/issues/4519)) - net: fix `try_io` methods not calling Mio's `try_io` internally ([#4582](https://togithub.com/tokio-rs/tokio/issues/4582)) - runtime: recover when OS fails to spawn a new thread ([#4485](https://togithub.com/tokio-rs/tokio/issues/4485)) ##### Added - net: add `UdpSocket::peer_addr` ([#4611](https://togithub.com/tokio-rs/tokio/issues/4611)) - net: add `try_read_buf` method for named pipes ([#4626](https://togithub.com/tokio-rs/tokio/issues/4626)) - signal: add `SignalKind` `Hash`/`Eq` impls and `c_int` conversion ([#4540](https://togithub.com/tokio-rs/tokio/issues/4540)) - signal: add support for signals up to `SIGRTMAX` ([#4555](https://togithub.com/tokio-rs/tokio/issues/4555)) - sync: add `watch::Sender::send_modify` method ([#4310](https://togithub.com/tokio-rs/tokio/issues/4310)) - sync: add `broadcast::Receiver::len` method ([#4542](https://togithub.com/tokio-rs/tokio/issues/4542)) - sync: add `watch::Receiver::same_channel` method ([#4581](https://togithub.com/tokio-rs/tokio/issues/4581)) - sync: implement `Clone` for `RecvError` types ([#4560](https://togithub.com/tokio-rs/tokio/issues/4560)) ##### Changed - update `mio` to 0.8.1 ([#4582](https://togithub.com/tokio-rs/tokio/issues/4582)) - macros: rename `tokio::select!`'s internal `util` module ([#4543](https://togithub.com/tokio-rs/tokio/issues/4543)) - runtime: use `Vec::with_capacity` when building runtime ([#4553](https://togithub.com/tokio-rs/tokio/issues/4553)) ##### Documented - improve docs for `tokio_unstable` ([#4524](https://togithub.com/tokio-rs/tokio/issues/4524)) - runtime: include more documentation for thread_pool/worker ([#4511](https://togithub.com/tokio-rs/tokio/issues/4511)) - runtime: update `Handle::current`'s docs to mention `EnterGuard` ([#4567](https://togithub.com/tokio-rs/tokio/issues/4567)) - time: clarify platform specific timer resolution ([#4474](https://togithub.com/tokio-rs/tokio/issues/4474)) - signal: document that `Signal::recv` is cancel-safe ([#4634](https://togithub.com/tokio-rs/tokio/issues/4634)) - sync: `UnboundedReceiver` close docs ([#4548](https://togithub.com/tokio-rs/tokio/issues/4548)) ##### Unstable The following changes only apply when building with `--cfg tokio_unstable`: - task: add `task::Id` type ([#4630](https://togithub.com/tokio-rs/tokio/issues/4630)) - task: add `AbortHandle` type for cancelling tasks in a `JoinSet` ([#4530](https://togithub.com/tokio-rs/tokio/issues/4530)], \[[#4640](https://togithub.com/tokio-rs/tokio/issues/4640)) - task: fix missing `doc(cfg(...))` attributes for `JoinSet` ([#4531](https://togithub.com/tokio-rs/tokio/issues/4531)) - task: fix broken link in `AbortHandle` RustDoc ([#4545](https://togithub.com/tokio-rs/tokio/issues/4545)) - metrics: add initial IO driver metrics ([#4507](https://togithub.com/tokio-rs/tokio/issues/4507)) ### [`v1.17.0`](https://togithub.com/tokio-rs/tokio/releases/tag/tokio-1.17.0): Tokio v1.17.0 [Compare Source](https://togithub.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 ([#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]) [#4495]: https://togithub.com/tokio-rs/tokio/pull/4495 [#4461]: https://togithub.com/tokio-rs/tokio/pull/4461 [#4478]: https://togithub.com/tokio-rs/tokio/pull/4478 [#4430]: https://togithub.com/tokio-rs/tokio/pull/4430 [#4457]: https://togithub.com/tokio-rs/tokio/pull/4457 [#4459]: https://togithub.com/tokio-rs/tokio/pull/4459 [#4449]: https://togithub.com/tokio-rs/tokio/pull/4449 [#4462]: https://togithub.com/tokio-rs/tokio/pull/4462 [#4436]: https://togithub.com/tokio-rs/tokio/pull/4436 [#4480]: https://togithub.com/tokio-rs/tokio/pull/4480 [#4271]: https://togithub.com/tokio-rs/tokio/pull/4271 [#4491]: https://togithub.com/tokio-rs/tokio/pull/4491 [#4397]: https://togithub.com/tokio-rs/tokio/pull/4397 [#4479]: https://togithub.com/tokio-rs/tokio/pull/4479 [#4483]: https://togithub.com/tokio-rs/tokio/pull/4483 [#4335]: https://togithub.com/tokio-rs/tokio/pull/4335 [#4475]: https://togithub.com/tokio-rs/tokio/pull/4475 [#4453]: https://togithub.com/tokio-rs/tokio/pull/4453 ### [`v1.16.1`](https://togithub.com/tokio-rs/tokio/releases/tag/tokio-1.16.1): Tokio v1.16.1 [Compare Source](https://togithub.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 [#4428] with the change [#4437]. [#4428]: https://togithub.com/tokio-rs/tokio/pull/4428 [#4437]: https://togithub.com/tokio-rs/tokio/pull/4437 ### [`v1.16.0`](https://togithub.com/tokio-rs/tokio/releases/tag/tokio-1.16.0): Tokio v1.16.0 [Compare Source](https://togithub.com/tokio-rs/tokio/compare/tokio-1.15.0...tokio-1.16.0) 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: ```rust impl AsyncRead for Buggy { fn poll_read( self: Pin<&mut Self>, cx: &mut Context<'_>, buf: &mut ReadBuf<'_> ) -> PollConfiguration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - 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 these updates again.
This PR has been generated by Mend Renovate. View repository job log here.