Closed renovate[bot] closed 1 year ago
This PR contains the following updates:
1.14
1.24
📅 Schedule: Branch creation - At any time (no schedule defined), 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.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR has been generated by Mend Renovate. View repository job log here.
This PR contains the following updates:
1.14
->1.24
Release Notes
tokio-rs/tokio
### [`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.4...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.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.5...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.5`](https://togithub.com/tokio-rs/tokio/compare/tokio-1.18.4...tokio-1.18.5) [Compare Source](https://togithub.com/tokio-rs/tokio/compare/tokio-1.18.4...tokio-1.18.5) ### [`v1.18.4`](https://togithub.com/tokio-rs/tokio/compare/tokio-1.18.3...tokio-1.18.4) [Compare Source](https://togithub.com/tokio-rs/tokio/compare/tokio-1.18.3...tokio-1.18.4) ### [`v1.18.3`](https://togithub.com/tokio-rs/tokio/releases/tag/tokio-1.18.3): Tokio v1.18.3 [Compare Source](https://togithub.com/tokio-rs/tokio/compare/tokio-1.18.2...tokio-1.18.3) ### 1.18.3 (September 27, 2022) This release removes the dependency on the `once_cell` crate to restore the MSRV of the 1.18.x LTS release. ([#5048]) [#5048]: https://togithub.com/tokio-rs/tokio/pull/5048 ### [`v1.18.2`](https://togithub.com/tokio-rs/tokio/releases/tag/tokio-1.18.2): Tokio v1.18.2 [Compare Source](https://togithub.com/tokio-rs/tokio/compare/tokio-1.18.1...tokio-1.18.2) ### 1.18.2 (May 5, 2022) Add missing features for the `winapi` dependency. ([#4663]) [#4663]: https://togithub.com/tokio-rs/tokio/pull/4663 ### [`v1.18.1`](https://togithub.com/tokio-rs/tokio/releases/tag/tokio-1.18.1): Tokio v1.18.1 [Compare Source](https://togithub.com/tokio-rs/tokio/compare/tokio-1.18.0...tokio-1.18.1) ### 1.18.1 (May 2, 2022) The 1.18.0 release broke the build for targets without 64-bit atomics when building with `tokio_unstable`. This release fixes that. ([#4649]) [#4649]: https://togithub.com/tokio-rs/tokio/pull/4649 ### [`v1.18.0`](https://togithub.com/tokio-rs/tokio/releases/tag/tokio-1.18.0): Tokio v1.18.0 [Compare Source](https://togithub.com/tokio-rs/tokio/compare/tokio-1.17.0...tokio-1.18.0) ### 1.18.0 (April 27, 2022) This release adds a number of new APIs in `tokio::net`, `tokio::signal`, and `tokio::sync`. In addition, it adds new unstable APIs to `tokio::task` (`Id`s for uniquely identifying a task, and `AbortHandle` for remotely cancelling a task), as well as a number of bugfixes. ##### Fixed - blocking: add missing `#[track_caller]` for `spawn_blocking` ([#4616](https://togithub.com/tokio-rs/tokio/issues/4616)) - macros: fix `select` macro to process 64 branches ([#4519](https://togithub.com/tokio-rs/tokio/issues/4519)) - net: fix `try_io` methods not calling Mio's `try_io` internally ([#4582](https://togithub.com/tokio-rs/tokio/issues/4582)) - runtime: recover when OS fails to spawn a new thread ([#4485](https://togithub.com/tokio-rs/tokio/issues/4485)) ##### Added - net: add `UdpSocket::peer_addr` ([#4611](https://togithub.com/tokio-rs/tokio/issues/4611)) - net: add `try_read_buf` method for named pipes ([#4626](https://togithub.com/tokio-rs/tokio/issues/4626)) - signal: add `SignalKind` `Hash`/`Eq` impls and `c_int` conversion ([#4540](https://togithub.com/tokio-rs/tokio/issues/4540)) - signal: add support for signals up to `SIGRTMAX` ([#4555](https://togithub.com/tokio-rs/tokio/issues/4555)) - sync: add `watch::Sender::send_modify` method ([#4310](https://togithub.com/tokio-rs/tokio/issues/4310)) - sync: add `broadcast::Receiver::len` method ([#4542](https://togithub.com/tokio-rs/tokio/issues/4542)) - sync: add `watch::Receiver::same_channel` method ([#4581](https://togithub.com/tokio-rs/tokio/issues/4581)) - sync: implement `Clone` for `RecvError` types ([#4560](https://togithub.com/tokio-rs/tokio/issues/4560)) ##### Changed - update `mio` to 0.8.1 ([#4582](https://togithub.com/tokio-rs/tokio/issues/4582)) - macros: rename `tokio::select!`'s internal `util` module ([#4543](https://togithub.com/tokio-rs/tokio/issues/4543)) - runtime: use `Vec::with_capacity` when building runtime ([#4553](https://togithub.com/tokio-rs/tokio/issues/4553)) ##### Documented - improve docs for `tokio_unstable` ([#4524](https://togithub.com/tokio-rs/tokio/issues/4524)) - runtime: include more documentation for thread_pool/worker ([#4511](https://togithub.com/tokio-rs/tokio/issues/4511)) - runtime: update `Handle::current`'s docs to mention `EnterGuard` ([#4567](https://togithub.com/tokio-rs/tokio/issues/4567)) - time: clarify platform specific timer resolution ([#4474](https://togithub.com/tokio-rs/tokio/issues/4474)) - signal: document that `Signal::recv` is cancel-safe ([#4634](https://togithub.com/tokio-rs/tokio/issues/4634)) - sync: `UnboundedReceiver` close docs ([#4548](https://togithub.com/tokio-rs/tokio/issues/4548)) ##### Unstable The following changes only apply when building with `--cfg tokio_unstable`: - task: add `task::Id` type ([#4630](https://togithub.com/tokio-rs/tokio/issues/4630)) - task: add `AbortHandle` type for cancelling tasks in a `JoinSet` ([#4530](https://togithub.com/tokio-rs/tokio/issues/4530)], \[[#4640](https://togithub.com/tokio-rs/tokio/issues/4640)) - task: fix missing `doc(cfg(...))` attributes for `JoinSet` ([#4531](https://togithub.com/tokio-rs/tokio/issues/4531)) - task: fix broken link in `AbortHandle` RustDoc ([#4545](https://togithub.com/tokio-rs/tokio/issues/4545)) - metrics: add initial IO driver metrics ([#4507](https://togithub.com/tokio-rs/tokio/issues/4507)) ### [`v1.17.0`](https://togithub.com/tokio-rs/tokio/releases/tag/tokio-1.17.0): Tokio v1.17.0 [Compare Source](https://togithub.com/tokio-rs/tokio/compare/tokio-1.16.1...tokio-1.17.0) ### 1.17.0 (February 15, 2022) This release updates the minimum supported Rust version (MSRV) to 1.49, the `mio` dependency to v0.8, and the (optional) `parking_lot` dependency to v0.12. Additionally, it contains several bug fixes, as well as internal refactoring and performance improvements. ##### Fixed - time: prevent panicking in `sleep` with large durations ([#4495]) - time: eliminate potential panics in `Instant` arithmetic on platforms where `Instant::now` is not monotonic ([#4461]) - io: fix `DuplexStream` not participating in cooperative yielding ([#4478]) - rt: fix potential double panic when dropping a `JoinHandle` ([#4430]) ##### Changed - update minimum supported Rust version to 1.49 ([#4457]) - update `parking_lot` dependency to v0.12.0 ([#4459]) - update `mio` dependency to v0.8 ([#4449]) - rt: remove an unnecessary lock in the blocking pool ([#4436]) - rt: remove an unnecessary enum in the basic scheduler ([#4462]) - time: use bit manipulation instead of modulo to improve performance ([#4480]) - net: use `std::future::Ready` instead of our own `Ready` future ([#4271]) - replace deprecated `atomic::spin_loop_hint` with `hint::spin_loop` ([#4491]) - fix miri failures in intrusive linked lists ([#4397]) ##### Documented - io: add an example for `tokio::process::ChildStdin` ([#4479]) ##### Unstable The following changes only apply when building with `--cfg tokio_unstable`: - task: fix missing location information in `tracing` spans generated by `spawn_local` ([#4483]) - task: add `JoinSet` for managing sets of tasks ([#4335]) - metrics: fix compilation error on MIPS ([#4475]) - metrics: fix compilation error on arm32v7 ([#4453]) [#4495]: https://togithub.com/tokio-rs/tokio/pull/4495 [#4461]: https://togithub.com/tokio-rs/tokio/pull/4461 [#4478]: https://togithub.com/tokio-rs/tokio/pull/4478 [#4430]: https://togithub.com/tokio-rs/tokio/pull/4430 [#4457]: https://togithub.com/tokio-rs/tokio/pull/4457 [#4459]: https://togithub.com/tokio-rs/tokio/pull/4459 [#4449]: https://togithub.com/tokio-rs/tokio/pull/4449 [#4462]: https://togithub.com/tokio-rs/tokio/pull/4462 [#4436]: https://togithub.com/tokio-rs/tokio/pull/4436 [#4480]: https://togithub.com/tokio-rs/tokio/pull/4480 [#4271]: https://togithub.com/tokio-rs/tokio/pull/4271 [#4491]: https://togithub.com/tokio-rs/tokio/pull/4491 [#4397]: https://togithub.com/tokio-rs/tokio/pull/4397 [#4479]: https://togithub.com/tokio-rs/tokio/pull/4479 [#4483]: https://togithub.com/tokio-rs/tokio/pull/4483 [#4335]: https://togithub.com/tokio-rs/tokio/pull/4335 [#4475]: https://togithub.com/tokio-rs/tokio/pull/4475 [#4453]: https://togithub.com/tokio-rs/tokio/pull/4453 ### [`v1.16.1`](https://togithub.com/tokio-rs/tokio/releases/tag/tokio-1.16.1): Tokio v1.16.1 [Compare Source](https://togithub.com/tokio-rs/tokio/compare/tokio-1.16.0...tokio-1.16.1) ### 1.16.1 (January 28, 2022) This release fixes a bug in [#4428] with the change [#4437]. [#4428]: https://togithub.com/tokio-rs/tokio/pull/4428 [#4437]: https://togithub.com/tokio-rs/tokio/pull/4437 ### [`v1.16.0`](https://togithub.com/tokio-rs/tokio/releases/tag/tokio-1.16.0): Tokio v1.16.0 [Compare Source](https://togithub.com/tokio-rs/tokio/compare/tokio-1.15.0...tokio-1.16.0) Fixes a soundness bug in `io::Take` ([#4428]). The unsoundness is exposed when leaking memory in the given `AsyncRead` implementation and then overwriting the supplied buffer: ```rust impl AsyncRead for Buggy { fn poll_read( self: Pin<&mut Self>, cx: &mut Context<'_>, buf: &mut ReadBuf<'_> ) -> PollConfiguration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR has been generated by Mend Renovate. View repository job log here.