vincent-herlemont / native_db

Drop-in embedded database in Rust
MIT License
433 stars 17 forks source link

chore(deps): update rust crate tokio to 1.29 #41

Closed renovate[bot] closed 1 year ago

renovate[bot] commented 1 year ago

Mend Renovate

This PR contains the following updates:

Package Type Update Change
tokio (source) dev-dependencies minor 1.0 -> 1.29
tokio (source) dependencies minor 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<'_> ) -> Poll> { 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]) [#​4428]: https://togithub.com/tokio-rs/tokio/pull/4428 [#​4316]: https://togithub.com/tokio-rs/tokio/pull/4316 [#​4315]: https://togithub.com/tokio-rs/tokio/pull/4315 [#​4398]: https://togithub.com/tokio-rs/tokio/pull/4398 [#​4383]: https://togithub.com/tokio-rs/tokio/pull/4383 [#​4359]: https://togithub.com/tokio-rs/tokio/pull/4359 [#​4324]: https://togithub.com/tokio-rs/tokio/pull/4324 [#​4384]: https://togithub.com/tokio-rs/tokio/pull/4384 [#​4418]: https://togithub.com/tokio-rs/tokio/pull/4418 [#​4342]: https://togithub.com/tokio-rs/tokio/pull/4342 [#​4334]: https://togithub.com/tokio-rs/tokio/pull/4334 [#​4425]: https://togithub.com/tokio-rs/tokio/pull/4425 [#​4373]: https://togithub.com/tokio-rs/tokio/pull/4373 ### [`v1.15.0`](https://togithub.com/tokio-rs/tokio/releases/tag/tokio-1.15.0): Tokio v1.15.0 [Compare Source](https://togithub.com/tokio-rs/tokio/compare/tokio-1.14.1...tokio-1.15.0) ##### 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]) [#​4302]: https://togithub.com/tokio-rs/tokio/pull/4302 [#​4300]: https://togithub.com/tokio-rs/tokio/pull/4300 [#​4295]: https://togithub.com/tokio-rs/tokio/pull/4295 [#​4267]: https://togithub.com/tokio-rs/tokio/pull/4267 [#​4248]: https://togithub.com/tokio-rs/tokio/pull/4248 [#​4314]: https://togithub.com/tokio-rs/tokio/pull/4314 ### [`v1.14.1`](https://togithub.com/tokio-rs/tokio/releases/tag/tokio-1.14.1): Tokio v1.14.1 [Compare Source](https://togithub.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` ([#​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> { 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]) [#​4428]: https://togithub.com/tokio-rs/tokio/pull/4428 ### [`v1.14.0`](https://togithub.com/tokio-rs/tokio/releases/tag/tokio-1.14.0): Tokio v1.14.0 [Compare Source](https://togithub.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!` ([#​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 - stats: add `RuntimeStats::busy_duration_total` ([#​4179], [#​4223]) ##### 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]) [#​4211]: https://togithub.com/tokio-rs/tokio/pull/4211 [#​4226]: https://togithub.com/tokio-rs/tokio/pull/4226 [#​3689]: https://togithub.com/tokio-rs/tokio/pull/3689 [#​4213]: https://togithub.com/tokio-rs/tokio/pull/4213 [#​4179]: https://togithub.com/tokio-rs/tokio/pull/4179 [#​4223]: https://togithub.com/tokio-rs/tokio/pull/4223 [#​4209]: https://togithub.com/tokio-rs/tokio/pull/4209 [#​4230]: https://togithub.com/tokio-rs/tokio/pull/4230 [#​4212]: https://togithub.com/tokio-rs/tokio/pull/4212 ### [`v1.13.1`](https://togithub.com/tokio-rs/tokio/releases/tag/tokio-1.13.1): Tokio v1.13.1 [Compare Source](https://togithub.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 ([#​4226](https://togithub.com/to

Configuration

📅 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.

vincent-herlemont commented 1 year ago

:tada: This PR is included in version 0.4.0 :tada:

The release is available on:

Your semantic-release bot :package::rocket: