dtolnay/anyhow (anyhow)
### [`v1.0.71`](https://togithub.com/dtolnay/anyhow/releases/tag/1.0.71)
[Compare Source](https://togithub.com/dtolnay/anyhow/compare/1.0.70...1.0.71)
- Documentation improvements
### [`v1.0.70`](https://togithub.com/dtolnay/anyhow/releases/tag/1.0.70)
[Compare Source](https://togithub.com/dtolnay/anyhow/compare/1.0.69...1.0.70)
- Update syn dependency to 2.x
### [`v1.0.69`](https://togithub.com/dtolnay/anyhow/releases/tag/1.0.69)
[Compare Source](https://togithub.com/dtolnay/anyhow/compare/1.0.68...1.0.69)
- Documentation improvements
### [`v1.0.68`](https://togithub.com/dtolnay/anyhow/releases/tag/1.0.68)
[Compare Source](https://togithub.com/dtolnay/anyhow/compare/1.0.67...1.0.68)
- Opt out of `-Zrustdoc-scrape-examples` on docs.rs for now
### [`v1.0.67`](https://togithub.com/dtolnay/anyhow/releases/tag/1.0.67)
[Compare Source](https://togithub.com/dtolnay/anyhow/compare/1.0.66...1.0.67)
- Improve the backtrace captured when `context()` is used on an `Option` ([#280](https://togithub.com/dtolnay/anyhow/issues/280))
### [`v1.0.66`](https://togithub.com/dtolnay/anyhow/releases/tag/1.0.66)
[Compare Source](https://togithub.com/dtolnay/anyhow/compare/1.0.65...1.0.66)
- Reduce unhelpful backtrace frames in backtraces captured during a `context` call ([#279](https://togithub.com/dtolnay/anyhow/issues/279))
### [`v1.0.65`](https://togithub.com/dtolnay/anyhow/releases/tag/1.0.65)
[Compare Source](https://togithub.com/dtolnay/anyhow/compare/1.0.64...1.0.65)
- impl Provider for anyhow::Error
### [`v1.0.64`](https://togithub.com/dtolnay/anyhow/releases/tag/1.0.64)
[Compare Source](https://togithub.com/dtolnay/anyhow/compare/1.0.63...1.0.64)
- Correctly propagate Backtrace when using `#[source] anyhow::Error` with [thiserror](https://togithub.com/dtolnay/thiserror) crate ([#231](https://togithub.com/dtolnay/anyhow/issues/231))
### [`v1.0.63`](https://togithub.com/dtolnay/anyhow/releases/tag/1.0.63)
[Compare Source](https://togithub.com/dtolnay/anyhow/compare/1.0.62...1.0.63)
- Expose backtraces via the new "generic member access" API on the Error trait ([https://github.com/rust-lang/rust/issues/99301](https://togithub.com/rust-lang/rust/issues/99301), [https://github.com/rust-lang/rust/issues/96024](https://togithub.com/rust-lang/rust/issues/96024))
### [`v1.0.62`](https://togithub.com/dtolnay/anyhow/releases/tag/1.0.62)
[Compare Source](https://togithub.com/dtolnay/anyhow/compare/1.0.61...1.0.62)
- Fix extra rebuilding when interleaving command-line `cargo` invocations with IDE builds ([#261](https://togithub.com/dtolnay/anyhow/issues/261))
### [`v1.0.61`](https://togithub.com/dtolnay/anyhow/releases/tag/1.0.61)
[Compare Source](https://togithub.com/dtolnay/anyhow/compare/1.0.60...1.0.61)
- Work around rust-analyzer builds poisoning all subsequent command-line cargo builds ([#252](https://togithub.com/dtolnay/anyhow/issues/252))
### [`v1.0.60`](https://togithub.com/dtolnay/anyhow/releases/tag/1.0.60)
[Compare Source](https://togithub.com/dtolnay/anyhow/compare/1.0.59...1.0.60)
- Propagate `--target` to rustc invocation when deciding about backtrace support ([#249](https://togithub.com/dtolnay/anyhow/issues/249), thanks [@RalfJung](https://togithub.com/RalfJung))
### [`v1.0.59`](https://togithub.com/dtolnay/anyhow/releases/tag/1.0.59)
[Compare Source](https://togithub.com/dtolnay/anyhow/compare/1.0.58...1.0.59)
- Update crates.io metadata to include `no-std` category
### [`v1.0.58`](https://togithub.com/dtolnay/anyhow/releases/tag/1.0.58)
[Compare Source](https://togithub.com/dtolnay/anyhow/compare/1.0.57...1.0.58)
- Fix some broken links in documentation
### [`v1.0.57`](https://togithub.com/dtolnay/anyhow/releases/tag/1.0.57)
[Compare Source](https://togithub.com/dtolnay/anyhow/compare/1.0.56...1.0.57)
- Remove a `log4rs`-specific workaround from `bail!` macro implementation
tokio-rs/prost (prost)
### [`v0.11.9`](https://togithub.com/tokio-rs/prost/releases/tag/v0.11.9)
[Compare Source](https://togithub.com/tokio-rs/prost/compare/v0.11.8...v0.11.9)
*PROST!* is a [Protocol Buffers](https://developers.google.com/protocol-buffers/) implementation for the [Rust Language](https://www.rust-lang.org/). `prost` generates simple, idiomatic Rust code from `proto2` and `proto3` files.
This patch updates brings a few new features and fixes:
- build: Support boxing fields via `Config::boxed` ([#802](https://togithub.com/tokio-rs/prost/pull/802))
### [`v0.11.8`](https://togithub.com/tokio-rs/prost/releases/tag/v0.11.8)
[Compare Source](https://togithub.com/tokio-rs/prost/compare/v0.11.7...v0.11.8)
*PROST!* is a [Protocol Buffers](https://developers.google.com/protocol-buffers/) implementation for the [Rust Language](https://www.rust-lang.org/). `prost` generates simple, idiomatic Rust code from `proto2` and `proto3` files.
This patch updates brings a few new features and fixes:
- types: Fix unintentional change in compiler module visibility [#824](https://togithub.com/tokio-rs/prost/pull/824)
`prost-types` 0.11.7 was yanked due to the above unintentional semver breakage.
### [`v0.11.7`](https://togithub.com/tokio-rs/prost/compare/v0.11.6...v0.11.7)
[Compare Source](https://togithub.com/tokio-rs/prost/compare/v0.11.6...v0.11.7)
### [`v0.11.6`](https://togithub.com/tokio-rs/prost/releases/tag/v0.11.6)
[Compare Source](https://togithub.com/tokio-rs/prost/compare/v0.11.5...v0.11.6)
*PROST!* is a [Protocol Buffers](https://developers.google.com/protocol-buffers/) implementation for the [Rust Language](https://www.rust-lang.org/). `prost` generates simple, idiomatic Rust code from `proto2` and `proto3` files.
This patch updates brings a few new features and fixes:
- build: Add message and enum attributes ([https://github.com/tokio-rs/prost/pull/784](https://togithub.com/tokio-rs/prost/pull/784))
### [`v0.11.5`](https://togithub.com/tokio-rs/prost/releases/tag/v0.11.5)
[Compare Source](https://togithub.com/tokio-rs/prost/compare/v0.11.3...v0.11.5)
*PROST!* is a [Protocol Buffers](https://developers.google.com/protocol-buffers/) implementation for the [Rust Language](https://www.rust-lang.org/). `prost` generates simple, idiomatic Rust code from `proto2` and `proto3` files.
This patch updates brings a few new features and fixes:
- build: Allow file descriptor be generated without --include_source_info ([https://github.com/tokio-rs/prost/pull/786](https://togithub.com/tokio-rs/prost/pull/786))
- build: Expose from_str_name for generated enums ([https://github.com/tokio-rs/prost/pull/774](https://togithub.com/tokio-rs/prost/pull/774))
### [`v0.11.3`](https://togithub.com/tokio-rs/prost/releases/tag/v0.11.3)
[Compare Source](https://togithub.com/tokio-rs/prost/compare/v0.11.2...v0.11.3)
*PROST!* is a [Protocol Buffers](https://developers.google.com/protocol-buffers/) implementation for the [Rust Language](https://www.rust-lang.org/). `prost` generates simple, idiomatic Rust code from `proto2` and `proto3` files.
This patch updates brings a few new features and fixes:
- build: Use `log` to print error logs.
- build: Remove accidentally included prints.
- build: Improve debian error message hint.
### [`v0.11.2`](https://togithub.com/tokio-rs/prost/releases/tag/v0.11.2)
[Compare Source](https://togithub.com/tokio-rs/prost/compare/v0.11.0...v0.11.2)
*PROST!* is a [Protocol Buffers](https://developers.google.com/protocol-buffers/) implementation for the [Rust Language](https://www.rust-lang.org/). `prost` generates simple, idiomatic Rust code from `proto2` and `proto3` files.
This patch updates brings a few new features and fixes:
- build: Improve `protoc` sourcing instructions in error messages.
- build: Add `Clone` to `Service` types.
- build: Sort modules to produce deterministic include files.
- core: Tuple struct support.
- build: Allow generated code derive path's to be changed.
- build: Allow changing prost crate path.
- build: Add code formatting support.
### [`v0.11.0`](https://togithub.com/tokio-rs/prost/releases/tag/v0.11.0)
[Compare Source](https://togithub.com/tokio-rs/prost/compare/v0.10.4...v0.11.0)
*PROST!* is a [Protocol Buffers](https://developers.google.com/protocol-buffers/) implementation for the [Rust Language](https://www.rust-lang.org/). `prost` generates simple, idiomatic Rust code from `proto2` and `proto3` files.
Relase 0.11 brings a few breaking changes and changes to how prost sources protoc.
- `prost-build` now requires `protoc` to be available in the path or set
via the `PROTOC` env var.
- `prost-types` now contains new `Timestamp`/`Duration` `FromStr` implementations.
- MSRV bump to `1.56` and all crates have been moved to edition 2021
Notible changes that are not breaking:
- `prost-build` now has a `cleanup-markdown` feature for cleaining up
code blocks from protobuf files so that they work under rustdoc tests.
- `prost-build` now generates `as_str_name` for message types.
### [`v0.10.4`](https://togithub.com/tokio-rs/prost/releases/tag/v0.10.4)
[Compare Source](https://togithub.com/tokio-rs/prost/compare/v0.10.3...v0.10.4)
*PROST!* is a [Protocol Buffers](https://developers.google.com/protocol-buffers/) implementation for the [Rust Language](https://www.rust-lang.org/). `prost` generates simple, idiomatic Rust code from `proto2` and `proto3` files.
Small fix for compiling protoc from source to speed up compile times.
### [`v0.10.3`](https://togithub.com/tokio-rs/prost/releases/tag/v0.10.3)
[Compare Source](https://togithub.com/tokio-rs/prost/compare/v0.10.2...v0.10.3)
*PROST!* is a [Protocol Buffers](https://developers.google.com/protocol-buffers/) implementation for the [Rust Language](https://www.rust-lang.org/). `prost` generates simple, idiomatic Rust code from `proto2` and `proto3` files.
This release reverts [#605](https://togithub.com/tokio-rs/prost/issues/605) and contains some typo fixes.
(this release is actually the `v0.10.2` release but `prost-build` had to be yanked because of a local publish issue)
### [`v0.10.2`](https://togithub.com/tokio-rs/prost/releases/tag/v0.10.2)
[Compare Source](https://togithub.com/tokio-rs/prost/compare/v0.10.1...v0.10.2)
*PROST!* is a [Protocol Buffers](https://developers.google.com/protocol-buffers/) implementation for the [Rust Language](https://www.rust-lang.org/). `prost` generates simple, idiomatic Rust code from `proto2` and `proto3` files.
This release reverts [#605](https://togithub.com/tokio-rs/prost/issues/605) and contains some typo fixes.
(this release was yanked due to missing third-party source, `v0.10.3` is now the active release for this)
### [`v0.10.1`](https://togithub.com/tokio-rs/prost/releases/tag/v0.10.1)
[Compare Source](https://togithub.com/tokio-rs/prost/compare/v0.10.0...v0.10.1)
*PROST!* is a [Protocol Buffers](https://developers.google.com/protocol-buffers/) implementation for the [Rust Language](https://www.rust-lang.org/). `prost` generates simple, idiomatic Rust code from `proto2` and `proto3` files.
This minor release brings no new code changes but symlinks license files in all the crates.
testcontainers/testcontainers-rs (testcontainers)
### [`v0.14.0`](https://togithub.com/testcontainers/testcontainers-rs/blob/HEAD/CHANGELOG.md#0140---2022-05-30)
##### Added
- Added `watchdog` feature that spawns a background thread keeping track of docker containers that are started by the test suite and removes them in the case of a `CTRL+C` or `kill` of the test process.
- Introduced `Container::get_host_port_ipv4`, `Container::get_host_port_ipv6`, `ContainerState::host_port_ipv4`, and `ContainerState::host_port_ipv6` to better handle automatically assigned ports.
Docker may bind the same exposed container port to different host ports on `0.0.0.0` and `::`, depending on influences from the environment.
##### Changed
- `Container::get_host_port` and `ContainerState::host_port` are now deprecated in favor of the new IPv4- and IPv6-specific methods.
- MSRV is now 1.60.
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))
Configuration
📅 Schedule: Branch creation - "before 4am on Monday" (UTC), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
👻 Immortal: This PR will be recreated if closed unmerged. Get config help if that's undesired.
[ ] If you want to rebase/retry this PR, check this box
This PR has been generated by Mend Renovate. View repository job log here.
This PR contains the following updates:
1.0.56
->1.0.71
0.10.0
->0.11.9
0.10.0
->0.11.9
0.13.0
->0.14.0
1.17.0
->1.29.1
0.7.1
->0.9.2
0.7.0
->0.9.2
0.4.12
->0.4.13
Release Notes
dtolnay/anyhow (anyhow)
### [`v1.0.71`](https://togithub.com/dtolnay/anyhow/releases/tag/1.0.71) [Compare Source](https://togithub.com/dtolnay/anyhow/compare/1.0.70...1.0.71) - Documentation improvements ### [`v1.0.70`](https://togithub.com/dtolnay/anyhow/releases/tag/1.0.70) [Compare Source](https://togithub.com/dtolnay/anyhow/compare/1.0.69...1.0.70) - Update syn dependency to 2.x ### [`v1.0.69`](https://togithub.com/dtolnay/anyhow/releases/tag/1.0.69) [Compare Source](https://togithub.com/dtolnay/anyhow/compare/1.0.68...1.0.69) - Documentation improvements ### [`v1.0.68`](https://togithub.com/dtolnay/anyhow/releases/tag/1.0.68) [Compare Source](https://togithub.com/dtolnay/anyhow/compare/1.0.67...1.0.68) - Opt out of `-Zrustdoc-scrape-examples` on docs.rs for now ### [`v1.0.67`](https://togithub.com/dtolnay/anyhow/releases/tag/1.0.67) [Compare Source](https://togithub.com/dtolnay/anyhow/compare/1.0.66...1.0.67) - Improve the backtrace captured when `context()` is used on an `Option` ([#280](https://togithub.com/dtolnay/anyhow/issues/280)) ### [`v1.0.66`](https://togithub.com/dtolnay/anyhow/releases/tag/1.0.66) [Compare Source](https://togithub.com/dtolnay/anyhow/compare/1.0.65...1.0.66) - Reduce unhelpful backtrace frames in backtraces captured during a `context` call ([#279](https://togithub.com/dtolnay/anyhow/issues/279)) ### [`v1.0.65`](https://togithub.com/dtolnay/anyhow/releases/tag/1.0.65) [Compare Source](https://togithub.com/dtolnay/anyhow/compare/1.0.64...1.0.65) -impl Provider for anyhow::Error
### [`v1.0.64`](https://togithub.com/dtolnay/anyhow/releases/tag/1.0.64) [Compare Source](https://togithub.com/dtolnay/anyhow/compare/1.0.63...1.0.64) - Correctly propagate Backtrace when using `#[source] anyhow::Error` with [thiserror](https://togithub.com/dtolnay/thiserror) crate ([#231](https://togithub.com/dtolnay/anyhow/issues/231)) ### [`v1.0.63`](https://togithub.com/dtolnay/anyhow/releases/tag/1.0.63) [Compare Source](https://togithub.com/dtolnay/anyhow/compare/1.0.62...1.0.63) - Expose backtraces via the new "generic member access" API on the Error trait ([https://github.com/rust-lang/rust/issues/99301](https://togithub.com/rust-lang/rust/issues/99301), [https://github.com/rust-lang/rust/issues/96024](https://togithub.com/rust-lang/rust/issues/96024)) ### [`v1.0.62`](https://togithub.com/dtolnay/anyhow/releases/tag/1.0.62) [Compare Source](https://togithub.com/dtolnay/anyhow/compare/1.0.61...1.0.62) - Fix extra rebuilding when interleaving command-line `cargo` invocations with IDE builds ([#261](https://togithub.com/dtolnay/anyhow/issues/261)) ### [`v1.0.61`](https://togithub.com/dtolnay/anyhow/releases/tag/1.0.61) [Compare Source](https://togithub.com/dtolnay/anyhow/compare/1.0.60...1.0.61) - Work around rust-analyzer builds poisoning all subsequent command-line cargo builds ([#252](https://togithub.com/dtolnay/anyhow/issues/252)) ### [`v1.0.60`](https://togithub.com/dtolnay/anyhow/releases/tag/1.0.60) [Compare Source](https://togithub.com/dtolnay/anyhow/compare/1.0.59...1.0.60) - Propagate `--target` to rustc invocation when deciding about backtrace support ([#249](https://togithub.com/dtolnay/anyhow/issues/249), thanks [@RalfJung](https://togithub.com/RalfJung)) ### [`v1.0.59`](https://togithub.com/dtolnay/anyhow/releases/tag/1.0.59) [Compare Source](https://togithub.com/dtolnay/anyhow/compare/1.0.58...1.0.59) - Update crates.io metadata to include `no-std` category ### [`v1.0.58`](https://togithub.com/dtolnay/anyhow/releases/tag/1.0.58) [Compare Source](https://togithub.com/dtolnay/anyhow/compare/1.0.57...1.0.58) - Fix some broken links in documentation ### [`v1.0.57`](https://togithub.com/dtolnay/anyhow/releases/tag/1.0.57) [Compare Source](https://togithub.com/dtolnay/anyhow/compare/1.0.56...1.0.57) - Remove a `log4rs`-specific workaround from `bail!` macro implementationtokio-rs/prost (prost)
### [`v0.11.9`](https://togithub.com/tokio-rs/prost/releases/tag/v0.11.9) [Compare Source](https://togithub.com/tokio-rs/prost/compare/v0.11.8...v0.11.9) *PROST!* is a [Protocol Buffers](https://developers.google.com/protocol-buffers/) implementation for the [Rust Language](https://www.rust-lang.org/). `prost` generates simple, idiomatic Rust code from `proto2` and `proto3` files. This patch updates brings a few new features and fixes: - build: Support boxing fields via `Config::boxed` ([#802](https://togithub.com/tokio-rs/prost/pull/802)) ### [`v0.11.8`](https://togithub.com/tokio-rs/prost/releases/tag/v0.11.8) [Compare Source](https://togithub.com/tokio-rs/prost/compare/v0.11.7...v0.11.8) *PROST!* is a [Protocol Buffers](https://developers.google.com/protocol-buffers/) implementation for the [Rust Language](https://www.rust-lang.org/). `prost` generates simple, idiomatic Rust code from `proto2` and `proto3` files. This patch updates brings a few new features and fixes: - types: Fix unintentional change in compiler module visibility [#824](https://togithub.com/tokio-rs/prost/pull/824) `prost-types` 0.11.7 was yanked due to the above unintentional semver breakage. ### [`v0.11.7`](https://togithub.com/tokio-rs/prost/compare/v0.11.6...v0.11.7) [Compare Source](https://togithub.com/tokio-rs/prost/compare/v0.11.6...v0.11.7) ### [`v0.11.6`](https://togithub.com/tokio-rs/prost/releases/tag/v0.11.6) [Compare Source](https://togithub.com/tokio-rs/prost/compare/v0.11.5...v0.11.6) *PROST!* is a [Protocol Buffers](https://developers.google.com/protocol-buffers/) implementation for the [Rust Language](https://www.rust-lang.org/). `prost` generates simple, idiomatic Rust code from `proto2` and `proto3` files. This patch updates brings a few new features and fixes: - build: Add message and enum attributes ([https://github.com/tokio-rs/prost/pull/784](https://togithub.com/tokio-rs/prost/pull/784)) ### [`v0.11.5`](https://togithub.com/tokio-rs/prost/releases/tag/v0.11.5) [Compare Source](https://togithub.com/tokio-rs/prost/compare/v0.11.3...v0.11.5) *PROST!* is a [Protocol Buffers](https://developers.google.com/protocol-buffers/) implementation for the [Rust Language](https://www.rust-lang.org/). `prost` generates simple, idiomatic Rust code from `proto2` and `proto3` files. This patch updates brings a few new features and fixes: - build: Allow file descriptor be generated without --include_source_info ([https://github.com/tokio-rs/prost/pull/786](https://togithub.com/tokio-rs/prost/pull/786)) - build: Expose from_str_name for generated enums ([https://github.com/tokio-rs/prost/pull/774](https://togithub.com/tokio-rs/prost/pull/774)) ### [`v0.11.3`](https://togithub.com/tokio-rs/prost/releases/tag/v0.11.3) [Compare Source](https://togithub.com/tokio-rs/prost/compare/v0.11.2...v0.11.3) *PROST!* is a [Protocol Buffers](https://developers.google.com/protocol-buffers/) implementation for the [Rust Language](https://www.rust-lang.org/). `prost` generates simple, idiomatic Rust code from `proto2` and `proto3` files. This patch updates brings a few new features and fixes: - build: Use `log` to print error logs. - build: Remove accidentally included prints. - build: Improve debian error message hint. ### [`v0.11.2`](https://togithub.com/tokio-rs/prost/releases/tag/v0.11.2) [Compare Source](https://togithub.com/tokio-rs/prost/compare/v0.11.0...v0.11.2) *PROST!* is a [Protocol Buffers](https://developers.google.com/protocol-buffers/) implementation for the [Rust Language](https://www.rust-lang.org/). `prost` generates simple, idiomatic Rust code from `proto2` and `proto3` files. This patch updates brings a few new features and fixes: - build: Improve `protoc` sourcing instructions in error messages. - build: Add `Clone` to `Service` types. - build: Sort modules to produce deterministic include files. - core: Tuple struct support. - build: Allow generated code derive path's to be changed. - build: Allow changing prost crate path. - build: Add code formatting support. ### [`v0.11.0`](https://togithub.com/tokio-rs/prost/releases/tag/v0.11.0) [Compare Source](https://togithub.com/tokio-rs/prost/compare/v0.10.4...v0.11.0) *PROST!* is a [Protocol Buffers](https://developers.google.com/protocol-buffers/) implementation for the [Rust Language](https://www.rust-lang.org/). `prost` generates simple, idiomatic Rust code from `proto2` and `proto3` files. Relase 0.11 brings a few breaking changes and changes to how prost sources protoc. - `prost-build` now requires `protoc` to be available in the path or set via the `PROTOC` env var. - `prost-types` now contains new `Timestamp`/`Duration` `FromStr` implementations. - MSRV bump to `1.56` and all crates have been moved to edition 2021 Notible changes that are not breaking: - `prost-build` now has a `cleanup-markdown` feature for cleaining up code blocks from protobuf files so that they work under rustdoc tests. - `prost-build` now generates `as_str_name` for message types. ### [`v0.10.4`](https://togithub.com/tokio-rs/prost/releases/tag/v0.10.4) [Compare Source](https://togithub.com/tokio-rs/prost/compare/v0.10.3...v0.10.4) *PROST!* is a [Protocol Buffers](https://developers.google.com/protocol-buffers/) implementation for the [Rust Language](https://www.rust-lang.org/). `prost` generates simple, idiomatic Rust code from `proto2` and `proto3` files. Small fix for compiling protoc from source to speed up compile times. ### [`v0.10.3`](https://togithub.com/tokio-rs/prost/releases/tag/v0.10.3) [Compare Source](https://togithub.com/tokio-rs/prost/compare/v0.10.2...v0.10.3) *PROST!* is a [Protocol Buffers](https://developers.google.com/protocol-buffers/) implementation for the [Rust Language](https://www.rust-lang.org/). `prost` generates simple, idiomatic Rust code from `proto2` and `proto3` files. This release reverts [#605](https://togithub.com/tokio-rs/prost/issues/605) and contains some typo fixes. (this release is actually the `v0.10.2` release but `prost-build` had to be yanked because of a local publish issue) ### [`v0.10.2`](https://togithub.com/tokio-rs/prost/releases/tag/v0.10.2) [Compare Source](https://togithub.com/tokio-rs/prost/compare/v0.10.1...v0.10.2) *PROST!* is a [Protocol Buffers](https://developers.google.com/protocol-buffers/) implementation for the [Rust Language](https://www.rust-lang.org/). `prost` generates simple, idiomatic Rust code from `proto2` and `proto3` files. This release reverts [#605](https://togithub.com/tokio-rs/prost/issues/605) and contains some typo fixes. (this release was yanked due to missing third-party source, `v0.10.3` is now the active release for this) ### [`v0.10.1`](https://togithub.com/tokio-rs/prost/releases/tag/v0.10.1) [Compare Source](https://togithub.com/tokio-rs/prost/compare/v0.10.0...v0.10.1) *PROST!* is a [Protocol Buffers](https://developers.google.com/protocol-buffers/) implementation for the [Rust Language](https://www.rust-lang.org/). `prost` generates simple, idiomatic Rust code from `proto2` and `proto3` files. This minor release brings no new code changes but symlinks license files in all the crates.testcontainers/testcontainers-rs (testcontainers)
### [`v0.14.0`](https://togithub.com/testcontainers/testcontainers-rs/blob/HEAD/CHANGELOG.md#0140---2022-05-30) ##### Added - Added `watchdog` feature that spawns a background thread keeping track of docker containers that are started by the test suite and removes them in the case of a `CTRL+C` or `kill` of the test process. - Introduced `Container::get_host_port_ipv4`, `Container::get_host_port_ipv6`, `ContainerState::host_port_ipv4`, and `ContainerState::host_port_ipv6` to better handle automatically assigned ports. Docker may bind the same exposed container port to different host ports on `0.0.0.0` and `::`, depending on influences from the environment. ##### Changed - `Container::get_host_port` and `ContainerState::host_port` are now deprecated in favor of the new IPv4- and IPv6-specific methods. - MSRV is now 1.60.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))Configuration
📅 Schedule: Branch creation - "before 4am on Monday" (UTC), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
👻 Immortal: This PR will be recreated if closed unmerged. Get config help if that's undesired.
This PR has been generated by Mend Renovate. View repository job log here.