Igosuki / binance-rs-async

Async client for the Binance APIs
https://crates.io/crates/binance-rs-async
Other
171 stars 114 forks source link

fix(deps): update rust crate tokio to 1.24 #68

Closed renovate[bot] closed 1 year ago

renovate[bot] commented 1 year ago

Mend Renovate

This PR contains the following updates:

Package Type Update Change
tokio (source) dependencies minor 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<'_> ) -> Poll> { let new_buf = vec![0; 5].leak(); *buf = ReadBuf::new(new_buf); buf.put_slice(b"hello"); Poll::Ready(Ok(())) } } ``` Also, this release includes improvements to the multi-threaded scheduler that can increase throughput by up to 20% in some cases ([#​4383]). ##### Fixed - io: **soundness** don't expose uninitialized memory when using `io::Take` in edge case ([#​4428]) - fs: ensure `File::write` results in a `write` syscall when the runtime shuts down ([#​4316]) - process: drop pipe after child exits in `wait_with_output` ([#​4315]) - rt: improve error message when spawning a thread fails ([#​4398]) - rt: reduce false-positive thread wakups in the multi-threaded scheduler ([#​4383]) - sync: don't inherit `Send` from `parking_lot::*Guard` ([#​4359]) ##### Added - net: `TcpSocket::linger()` and `set_linger()` ([#​4324]) - net: impl `UnwindSafe` for socket types ([#​4384]) - rt: impl `UnwindSafe` for `JoinHandle` ([#​4418]) - sync: `watch::Receiver::has_changed()` ([#​4342]) - sync: `oneshot::Receiver::blocking_recv()` ([#​4334]) - sync: `RwLock` blocking operations ([#​4425]) ##### Unstable The following changes only apply when building with `--cfg tokio_unstable` - rt: **breaking change** overhaul runtime metrics API ([#​4373]) [#​4428]: https://togithub.com/tokio-rs/tokio/pull/4428 [#​4316]: https://togithub.com/tokio-rs/tokio/pull/4316 [#​4315]: https://togithub.com/tokio-rs/tokio/pull/4315 [#​4398]: https://togithub.com/tokio-rs/tokio/pull/4398 [#​4383]: https://togithub.com/tokio-rs/tokio/pull/4383 [#​4359]: https://togithub.com/tokio-rs/tokio/pull/4359 [#​4324]: https://togithub.com/tokio-rs/tokio/pull/4324 [#​4384]: https://togithub.com/tokio-rs/tokio/pull/4384 [#​4418]: https://togithub.com/tokio-rs/tokio/pull/4418 [#​4342]: https://togithub.com/tokio-rs/tokio/pull/4342 [#​4334]: https://togithub.com/tokio-rs/tokio/pull/4334 [#​4425]: https://togithub.com/tokio-rs/tokio/pull/4425 [#​4373]: https://togithub.com/tokio-rs/tokio/pull/4373 ### [`v1.15.0`](https://togithub.com/tokio-rs/tokio/releases/tag/tokio-1.15.0): Tokio v1.15.0 [Compare Source](https://togithub.com/tokio-rs/tokio/compare/tokio-1.14.1...tokio-1.15.0) ##### Fixed - io: add cooperative yielding support to `io::empty()` ([#​4300]) - time: make timeout robust against budget-depleting tasks ([#​4314]) ##### Changed - update minimum supported Rust version to 1.46. ##### Added - time: add `Interval::reset()` ([#​4248]) - io: add explicit lifetimes to `AsyncFdReadyGuard` ([#​4267]) - process: add `Command::as_std()` ([#​4295]) ##### Added (unstable) - tracing: instrument `tokio::sync` types ([#​4302]) [#​4302]: https://togithub.com/tokio-rs/tokio/pull/4302 [#​4300]: https://togithub.com/tokio-rs/tokio/pull/4300 [#​4295]: https://togithub.com/tokio-rs/tokio/pull/4295 [#​4267]: https://togithub.com/tokio-rs/tokio/pull/4267 [#​4248]: https://togithub.com/tokio-rs/tokio/pull/4248 [#​4314]: https://togithub.com/tokio-rs/tokio/pull/4314 ### [`v1.14.1`](https://togithub.com/tokio-rs/tokio/releases/tag/tokio-1.14.1): Tokio v1.14.1 [Compare Source](https://togithub.com/tokio-rs/tokio/compare/tokio-1.14.0...tokio-1.14.1) This release backports a bug fix from 1.16.1 Fixes a soundness bug in `io::Take` ([#​4428]). The unsoundness is exposed when leaking memory in the given `AsyncRead` implementation and then overwriting the supplied buffer: ```rust impl AsyncRead for Buggy { fn poll_read( self: Pin<&mut Self>, cx: &mut Context<'_>, buf: &mut ReadBuf<'_> ) -> Poll> { let new_buf = vec![0; 5].leak(); *buf = ReadBuf::new(new_buf); buf.put_slice(b"hello"); Poll::Ready(Ok(())) } } ``` ##### Fixed - io: **soundness** don't expose uninitialized memory when using `io::Take` in edge case ([#​4428]) [#​4428]: https://togithub.com/tokio-rs/tokio/pull/4428

Configuration

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